ci jenkins_Jenkins,Travis CI,Circle CI,TeamCity,Codeship,GitLab CI,Bamboo

ci jenkins

为什么要在CI / CD工作流程中使用一种工具,而哪种工具最适合您?

越来越多的工程团队采用敏捷开发,力求缩短发布周期。 代码库的增长和创建新产品的频率导致了持续集成和持续部署/交付工具的兴起。

如果您还考虑切换到快速发布频率,或者不确定要提供什么其他工具,我们将助您一臂之力。 在下面的文章中,我们将熟悉一些最受欢迎的CI / CD工具,并更好地了解每个工具。 船好了!

目录

  1. 詹金斯
  2. 特拉维斯CI
  3. 圈CI
  4. 团队城市
  5. 代号
  6. 亚搏体育app CI

什么是CI / CD,它有什么用?

在深入研究CI / CD自动化工具之前,我们首先需要了解整个概念。 如前所述,持续集成和持续部署通常与敏捷开发环境紧密结合,在该环境中,团队希望在完成后立即将不同的代码段部署到生产中。

CI / CD工具的使用使构建,测试和部署新代码的过程自动化。 每个团队成员都可以立即获得有关其代码生产准备情况的反馈,即使他们只是更改了一行或一个字符。 这样,每个团队成员都可以将其代码推入生产环境,同时自动完成构建,测试和部署过程,因此他们可以继续进行应用程序下一部分的工作。

将自动化添加到您的工作流中并不只是将代码部署到生产中。 您必须先跟踪新错误,然后再对用户产生重大影响。 对于大多数团队而言,生产中的调试是一项手动且繁琐的任务,需要他们全神贯注地花几个小时甚至几天来筛选日志。 但是,现在可以大规模地自动进行根本原因分析,知道发生错误的位置,时间和最重要的原因。

如果您是Java,Scala或.NET开发人员,我们为您提供特殊待遇, 请查看

现在我们知道了为什么在使用CI模型的工作流中实现自动化很重要,现在该看看哪种工具适合我们。

1.詹金斯

詹金斯(Jenkins)是CI市场上最知名的名字之一。 它最初是由Sun的一位工程师进行的一项附带项目,后来扩展为可帮助工程团队自动化其部署的最大的开源CI工具之一。 全面披露:我们在OverOps处还使用Jenkins以及自产的CLI工具。

它有什么作用?

就像CI工具承诺的那样,借助Jenkins,您可以自动化构建,测试和部署任务。 该工具支持Windows,Mac OSX和各种Unix系统,可以使用本机系统软件包以及Docker安装,也可以独立安装在装有Java Runtime Environment(JRE)的任何计算机上。

在实际方面,Jenkins使团队中的任何成员都可以将其代码推送到内部版本,并立即获得有关是否已准备好投入生产的反馈。 在大多数情况下,这需要根据您团队的自定义要求对詹金斯进行一些修补和定制。

Jenkins的亮点在于其丰富的插件生态系统。 它提供了带有1000多个插件的扩展版本,可以与市场上几乎所有的工具和服务集成。 像我们一样,作为开源工具,您还可以选择自定义适合自己的解决方案。 但是,对于一些团队而言,需要花费时间和精力来确保它适合您,这可能是不利的一面。

价格:免费

还有一件事:我们曾经说过一遍,然后再说一遍:开源+插件=社区。 您可以想到的任何配置,工作流程,需求或期望,您都可以选择在Jenkins及其插件的帮助下进行创建。 另外,乐队的好名字。

底线:如果您正在寻找便宜(免费!)的CI解决方案,愿意投入工作来定制环境并需要用户社区的支持,Jenkins是您的选择。

标准詹金斯职位列表

2. Travis CI

Travis CI是CI / CD生态系统中较常见的名称之一,多年来为开放源代码项目创建,然后扩展到封闭源代码项目。 它专注于CI级别,通过自动测试和警报系统提高了构建过程的性能。

它有什么作用?

Travis-CI专注于允许用户在部署代码时对其进行快速测试。 它支持大型和小型代码更改,旨在识别构建和测试中的更改。 检测到更改后,无论更改是否成功,Travis CI均可提供反馈。

开发人员可以使用Travis CI来监视测试的运行,并行运行多个测试,以及将该工具与Slack,HipChat,Email等集成,以通知问题或构建失败。

Travis CI支持容器构建,并支持Linux Ubuntu和OSX。 您可以在不同的编程语言中使用它,例如Java,C#,Clojure,GO,Haskell,Swift,Perl等。 它的第三方集成列表非常有限,但是由于重点是CI而不是CD,因此对于您的用例而言,这可能不是问题。

价格: Travis CI为开源项目提供免费支持,而私人项目的价格则从引导版本的$ 69 / mo到高级版本的$ 489 / mo不等。

还有一件事:为确保始终有最新构建的备份,每当您运行新构建时,Travis CI都会将GitHub存储库克隆到新的虚拟环境中。

底线:如果您的代码是开源的,并且您更担心构建的持续集成,那么Travis CI值得一试。

Travis CI仪表板

3.圈子CI

Circle CI是基于云的工具,可自动执行集成和部署过程。 它还着重于使用各种方法(例如单元测试,集成测试和功能测试)在部署代码之前对其进行测试。 该工具支持容器,OSX,Linux,并且可以在私有云或您自己的数据中心内运行。

它有什么作用?

Circle CI与您当前的版本控制系统(例如GitHub,Bitbucket等)集成在一起,并在检测到更改时运行许多步骤。 这些更改可以是提交,打开PR或对代码进行任何其他更改。

每次更改代码都会创建一个构建,并根据您的初始配置和首选项在干净的容器或VM中运行测试。 每个构建都包含许多步骤,包括依赖关系,测试和部署。 如果该构建通过测试,则可以通过AWS CodeDeploy,Google Container Engine,Heroku,SSH或您选择的任何其他方法进行部署。

通过Slack,HipChat,IRC或许多其他集成发送有关构建和测试的成功或失败状态,因此团队可以保持最新状态。 重要的是要注意,Circle CI需要对多种语言进行一些调整和更改,因此最好查阅有关所选语言的文档。

价格:对于Linux用户,第一个容器是免费的,每个额外的容器每月需花费50美元。 对于每天建设1至5个版本的团队,OSX的价格为39美元/月,对于私有数据中心或云,每年的合同价格为每用户35美元/月。

还有一件事: Circle CI可以自动取消GitHub上的冗余构建。 如果在同一分支上触发了较新的版本,则该工具会识别它并取消正在运行或排队的较旧版本,即使该版本尚未完成。

底线:如果您正在寻找一个具有广泛社区的GitHub友好工具,它也可以在私有云或您自己的数据中心内运行,Circle CI值得一试。

Circle CI仪表板

4. TeamCity

TeamCity是由JetBrains制造的CI / CD服务器。 它提供了“开箱即用”的持续集成,并允许用户最适合自己的需求。 它提供了对多种语言(Java,.NET,Ruby和其他语言)的支持,并且让JetBrains明智地支持了该工具的支持和文档。

它有什么作用?

作为CI / CD工具,TeamCity旨在缩短发布周期。 使用它,您可以即时查看测试结果,查看代码覆盖率并查找重复项,以及自定义有关构建持续时间,成功率,代码质量和其他自定义指标的统计信息。

一旦TeamCity检测到您的版本控制系统中的更改,它就会将构建添加到队列中。 服务器找到一个空闲的兼容构建代理,然后将排队的构建分配给该代理,该代理执行构建步骤。

在运行此过程时,TeamCity服务器记录不同的日志消息,测试报告和其他正在进行的更改。 所做的更改将实时保存和上载,因此用户在进行更改时可以知道生成的内容。 该工具还提供了在不同平台和环境上同时运行并行构建的选项。

价格:专业服务器许可证是免费提供的,它包括20种构建配置,对所有产品功能的完全访问权限,通过论坛和问题跟踪器的支持以及3种构建代理。 具有3个代理的服务器的企业服务器许可证起价为1,999美元,价格根据您感兴趣的代理数量而增加。

还有一件事: TeamCity带有选通提交选项,可以防止开发人员破坏版本控制系统中的源。 通过在提交之前远程运行构建以进行本地更改来完成此操作。

底线: TeamCity在过去几年中越来越受欢迎,它提供了市场上其他CI工具的不错替代品。 而且,如果您有兴趣查看构建和测试的进行情况,或者想要一个免费且功能强大的CI解决方案,那么毫无疑问TeamCity值得一试。

TeamCity仪表板

5.编码

Codeship在CI / CD上有不同的看法,并提供托管的持续集成即服务。 该工具最初是为Rails开发人员提供持续集成平台而设计的。 将其代码托管在GitHub上并部署到Heroku。 由于其受欢迎程度和需求,该公司多年来也扩展了支持其他技术的范围。

它有什么作用?

Codeship有2种不同的产品变体,每种都有其优缺点。 Codeship Basic允许通过Web UI和交钥匙部署连接存储库,从而设置CI / CD流程。 它提供了对预配置CI环境的支持,并允许在同一构建VM上运行多个不同的构建。

Codeship Pro使用Docker定义CI / CD环境,通过它您可以运行构建管道。 它具有对构建环境的完全控制,可让您定义要在其中运行的内容。 Pro版本还允许预分支缓存,设置要缓存的映像和工作流的哪一部分以及并行部署。

总体而言,Codeship支持多种语言,例如Java,Go,Node.js,Python,Ruby和其他语言。 在部署方面,基本版本支持AWS,Heroku,Azure和Kubernetes,而专业版还支持AWS ElasticBeanstalk,Google App Engine和DigitalOcean。

价格:免费计划包括每月100个版本,可用于无限的项目,用户和团队。 它还提供了一个并发构建和一个并行测试管道。

基本和专业计划的价格在$ 49- $ 79 / mo之间,具体取决于您感兴趣的并行构建和并行测试管道的数量。

还有一件事: Codeship有公用程序 ,脚本和Docker映像供该工具使用,该公司甚至指出其中一些可以与其他类似工具一起使用。 该集合包括用于可定制的外部服务的部署脚本,用于安装特定版本的软件的脚本(默认情况下不包含在构建VM上)以及更多。

底线:在一个域内提供2种不同的工具似乎有些奇怪,但是它使Codeship可以选择专注于更适合不同类型客户的各种要素。 由于Basic和Pro都是免费提供的,因此对于您的CI需求而言,这是一个有趣的选择。

Codeship仪表板

6.亚搏体育app CI

在启动GitLab之后不久,团队就推出了持续集成服务GitLab CI 。 除了测试和构建项目外,该工具还可以将构建部署到您的基础结构中,从而使您可以通过了解每段代码的去向来跟踪不同的部署。

它有什么作用?

GitLab CI是作为GitLab的一部分免费提供的,并且可以很快建立。 要开始使用GitLab CI,首先需要向存储库的根目录中添加.gitlab-ci.yml文件,并将GitLab项目配置为使用Runner。 之后,每次提交或推送都会触发CI管道,该管道包括三个阶段:构建,测试和部署。

每个构建的对象都可以划分为多个作业,并且可以在多台计算机上并行运行。 该工具会立即提供有关构建成功或失败的反馈,让用户知道问题出在哪里或过程中是否出了问题。

价格:社区版是免费提供的。 计划的价格从$ 3.25 / mo起,包括发行板,代码审核的多个批准,高级语法搜索和更多功能。

还有一件事: GitLab(和GitLab CI)是一个开源项目。 换句话说,您有权访问并修改GitLab社区版和企业版源代码。

底线:如果您使用的是GitLab,将GitLab CI解决方案作为包装的一部分进行尝试几乎是不费吹灰之力的。

GitLab CI仪表板

7.竹

Bamboo是Atlassian产品套件的一部分,与其他工具类似,它提供了构建,测试和部署代码的功能,并支持多种语言。 它与与CI周期相关的其他Atlassian产品(例如JIRA和Bitbucket)具有强大的集成。

它有什么作用?

构建,测试和部署都是Bamboo软件包的一部分,而测试部分是在Bamboo Agents的帮助下完成的。 与Java监视中的代理类似,Bamboo也提供两种类型: 本地代理作为Bamboo服务器的一部分在其进程中运行,而远程代理则在其他服务器和计算机上运行。 每个代理都分配给与其功能匹配的内部版本,从而允许将不同的代理分配给不同的内部版本。

Bamboo提供的主要优势是与Atlassian其他产品(例如JIRA和Bitbucket)的紧密联系。 使用Bamboo可以看到自上次部署以来已在代码中引入的代码更改和JIRA问题。 这样,开发人员可以同步他们的工作流程,并始终保持进度,并知道下一个版本以及已(修复)了哪个版本。

价格:竹子的定价基于代理商的数量。 无限的本地代理,最多10个工作并且没有远程代理的基本价格从10美元起。 下一层是800美元,用于无限的工作和本地代理,以及1个远程代理。 其他远程代理将使价格飙升至44,000美元。

还有一件事: Bamboo具有Atlassian的强大后盾,以及该公司现有产品的更好的工作流程。 如果您想无缝地将JIRA和Bitbucket添加到CI流程中并且愿意为此付费,Bamboo值得一试。

底线: Bamboo功能强大,只要您将其与Bitbucket和JIRA结合使用,并愿意为您的CI解决方案付费。

Bamboo仪表板

最后的想法

需要更快,更短的发布周期导致团队不得不寻找工具和工作流程,以支持新的软件交付方法。 每周甚至每天或每小时进行生产也意味着在生产中引入新的错误。

现在您已经转到CI / CD工作流程,现在该考虑该过程中的下一步了。 在生产中进行调试并在引入错误后立即对其进行检测。 如果您想知道如何使自动化过程更进一步并利用“自动根本原因”检测,则应查看OverOps

翻译自: https://www.javacodegeeks.com/2017/11/jenkins-vs-travis-ci-vs-circle-ci-vs-teamcity-vs-codeship-vs-gitlab-ci-vs-bamboo.html

ci jenkins

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值