以下有5种持续集成的服务可供您选择:
Jenkins
第一个是Jenkins,这是最初的持续集成工具, 它始于Sun Microsystems的Java开发人员。 Sun工程师非常聪明,不会将架构限制为Java代码,而今天有成千上万的插件可以处理所有主要堆栈和大多数次要堆栈的许多原始业务。选择一些随机的东西并不常见,例如Lisp,并发现有人为它编写了一个插件。Jenkins是用Java编写的,这意味着下载JAR文件并在Windows,Mac或Linux机器上运行它通常很容易。Jenkins项目持续引起关注和重建。 Blue Ocean子项目旨在通过浏览器轻松配置和优化Jenkins管道。 减少配置文件的文本编辑和更多点击。Jenkins团队一直致力于通过降低配置和更新工具所需的工作量,更轻松地在任何地方运行CI服务器。 Evergreen版本将从Docker容器中配置,构建和更新自身。
JetBrainsTeamCity
和IntelliJ IDE 同一家公司还提供了TeamCity,它是持续集成服务器和许多附加功能的组合,如代码质量指标等,JetBrains通过将TeamCity与所有主要版本控制系统集成并创建大量插件来支持不同语言,从而最大限度地提高了兼容性。 TeamCity的核心是Java,但它很容易与其他语言一起使用。该代码构建为可在各种本地计算机上运行。当然,还有一个Docker容器和一个在servlet容器中运行的Java JAR文件,但是还有一个Windows .exe文件。 其中一个更有趣的选项是“预测试提交”,它不会在您的桌面上发生,但在官方认为已提交代码之前仍会运行所有CI步骤。 一个更好的名字可能是“两阶段提交”。专业版据称“永远免费”,具有所有功能,对用户或构建时间没有限制。 购买企业版的人可以获得并行运行的额外构建代理,这些代理可以在AWS等公共云中展开。 它是一种混合解决方案,可让您在本地托管主服务器,但是需要额外的花销来启动云计算机。
GitLabCI/CD
许多团队在GitLab服务器上的云中使用GitLab,但是堆栈是开源的,可以安装在你选择的服务器机房中。社区版可以直接从GitLab检出并构建,但是为你的机器获取软件包安装程序并让它完成工作可能更容易。还有一个带有更多功能的付费企业版。GitLab的CI工作在很大程度上依赖于Docker进行配置和测试,这比基本工具更快更简单。大部分工作由一个名为GitLab Runner的程序处理,该程序是一个用于执行管道中各阶段的自动缩放工具,可以安装在多个服务器中。还有一个很好的功能叫做AutoDevOps,它可以查看你的代码,注意标准make文件的存在,然后配置管道来构建,测试和部署你的软件。整个GitLab堆栈不仅仅是持续集成。它还提供版本控制和协作工具,用于规划,问题跟踪和代码审查,这些都是创建运行代码的重要部分。
AzureDevOps Server
Microsoft一直在努力向任何想要或需要在自己的服务器上托管它的人开放Azure堆栈,devops也不例外。 最简单的解决方案是添加更多构建代理以加速工作。 基本的AzureDevOps帐户附带一个免费的构建代理。 你可以通过支付Microsoft(最简单的解决方案)或在你自己的计算机上安装构建代理来添加更多代理,其中包含适用于MacOS,Linux,当然还有Windows的软件包。你还可以使用Visual Studio等其他Microsoft产品获得额外的构建代理。如果你需要更多控制或隔离,则可以在你的计算机上安装完整Azure DevOps Server的第一个候选版本。 它与本地版本的AzureSQL一起使用,以提供完整的包。
OracleContainer Pipelines
前创业公司Wercker现在是Oracle的一部分,它通过简单但非常有用的Oracle Container Pipelines名称来调用获得的CI / CD产品。这是有道理的,因为该工具专注于使用一系列完成任务的管道构建,测试和部署Docker容器。 如果您可以将其拼写为Bash脚本,那么它可以作为一项任务。Linux系列和Mac都有可安装的版本,因此可以在桌面或服务器场中运行相同的YAML管道代码。如果你需要使用云,那么你需要自己构建它。
原文链接:https://www.infoworld.com/article/3345968/cicd-your-way-11-on-prem-options-for-continuous-integration-and-delivery.html