IT其它DevOpsCICD

主流CICD流程工具点评与推荐?

现在DEVOPS建设中关于CICD这块的工具可以简单点评下吗?现在云厂商们也推出了自己的一站式解决方案平台,比如云效。不知实际使用效果如何?显示全部

现在DEVOPS建设中关于CICD这块的工具可以简单点评下吗?现在云厂商们也推出了自己的一站式解决方案平台,比如云效。不知实际使用效果如何?

收起
参与4

返回顾黄亮的回答

顾黄亮顾黄亮  技术总监 , 畅销书作者

看到这篇总结,还不错,如下。

  1. Jenkins

Jenkins是一个基于Java的跨平台开源CI/CD工具。它提供持续集成、支持实时测试和报告。Jenkins可以通过下载.war格式的可执行文件从终端启动来安装。

Jenkins Pipeline提供了一组工具,可用于“as code”对交付的Pipeline进行建模。Jenkins使用DSL(域特定语言)实现Pipeline。它是广泛使用和最好的CI/CD工具之一,因为开源且发展历史长久。

Jenkins的显著特点:

适用于Windows、Linux和macOS平台;

免费和开源;

高度可扩展性;

它拥有蓬勃发展的插件生态系统(1500多个插件)和交流活跃的社区;

与流行的云平台集成,例如AWS、Google Cloud、Azure、Digital Ocean等;

可并行执行工作并实现复杂的CD要求;

.war格式的安装程序是一个独立的Java应用程序,安装即可用。

2.TeamCity

TeamCity是Java中基于服务器的CI/CD管道工具。它由JetBrains公司开发和维护,JetBrains是开发多种有用工具(如PyCharm、IntelliJ Idea等)的公司。TeamCity

可以安装在Windows和Linux服务器上。

TeamCity可免费用于开源项目,并为小型团队提供与Azure DevOps和Jira Software Cloud集成的功能。

TeamCity的显著特点:

高度可扩展性,可通过自定义将项目的设置重复使用于子项目;

它可以运行并行builds;

TeamCity中的Pipeline是使用基于Kotlin的DSL(领域特定语言)定义的;

与Docker、Visual Studio Team Services、Maven、NuGet等集成;

与流行的云平台(如Google Cloud、AWS、VMWare vSphere等)集成;

它具有启用历史记录、即时查看测试进度(和历史记录)报告以及添加builds到收藏夹的功能。

  1. CircleCI

CircleCI是最好的CI/CD工具之一,适用于为开源项目和大型项目实现CI/CD。CircleCI Cloud是其基于云的产品,而CircleCI Server是其内部(或自托管)解决方案。

它支持可以在Windows、Linux和macOS平台上build的语言。Pipeli很容易设置并使用专有的YAML语法。2019年,Forrester Wave将CircleCI评为云原生持续集成领域的领导者。

CircleCI的显著特点:

易于设置,可与流行的版本控制系统(如GitHub、Bitbucket等)一起使用;

它安装即用,可支持大多数流行的编程语言;

为了减少build时间,可以跨多个容器拆分和平衡build;

CircleCI中的并行测试有助于在不同的执行器之间执行测试;

CircleCI Server是CircleCI的内部部署产品,可以与流行的第三方工具(如GitHub Enterprise、Coveralls等)集成;

CircleCI Server支持广泛使用的云平台,如AWS、Google Cloud、Azure等;

CircleCI Orbs是可重用的代码片段,有助于自动化重复流程并加速与第三方工具的集成。

  1. Travis CI

与Jenkins一样,Travis C也是CI/CD Pipeline工具市场的先行者之一。它最初仅针对开源项目推出,后来迁移到支持闭源项目。

如果你的项目在GitHub或Bitbucket中,那么用Ruby编程语言编写的Travis CI是开源和企业级项目的最佳CI/CD工具之一。与CircleCI一样,Travis CI也为打算在其私有云(或自托管平台)上使用Travis CI的开源社区和企业提供不同的产品。

Travis CI的显著特点:

Travis CI支持多种编程语言(总共30种),包括Java、C#、Julia、Python等;

寻求更多隐私和安全解决方案的企业可以选择Travis CI Enterprise,这是一种自托管工具,可与GitHub和Bitbucket无缝集成;

CI/CD Pipeline使用专有的YAML语法,与GitHub Enterprise工具无缝集成;

你可以将Travis CI的Cloud(或SaaS)用于开源项目和团队规模较小的企业;

它支持在Linux、macOS和Windows等流行平台上运行;

Travis CI中的build矩阵功能允许你在包括不同环境、语言和运行时的一系列组合上执行并行build;

Travis CI Enterprise支持与流行的云平台(如AWS、Google Cloud、Kubernetes、Azure等)集成;

与跨浏览器测试工具的集成有助于跨浏览器、平台和设备(模拟器)的不同组合执行测试。

  1. Bamboo

Bamboo是一种流行的持续集成 (CI)工具。它是由Atlassian开发的企业产品,Atlassian是Jira创建的公司,它提供了在单个窗口中执行、测试和发布的工具。

Bamboo不仅可以与 Jira无缝协作,还可以与流行的SCM工具(如Bitbucket)一起使用。它可用于在Windows、Linux和macOS等流行平台上部署。与其他流行的CI/CD Pipeline工具一样,Bamboo还支持多种编程语言,以及AWS、SVN、Git等技术。

Bamboo的显著特征:

Bamboo 提供了从开源 CI/CD 选项(如Jenkins)到其平台的无缝迁移;

它内置了与Jira Software和Bitbucket服务器的集成;

Bamboo可以与Docker、AWS等流行工具(或平台)集成。;

它可以通过在远程build代理上执行build来实现并行build。它最多可以支持100 个远程build代理和代理上的并行测试批次;

根据存储库中的更改,Bamboo可以触发build,然后你可以从Bitbucket发送推送通知。

6.GoCD

GoCD是来自Thoughtworks 公司的开源持续集成服务器。与其他CI/CD DevOps 工具相比,它的主要区别在于VSM功能。VSM 跨Pipeline的完整端到端视图,它成功地将其映射到“部署Pipeline”或“持续交付Pipeline”的概念。

GoCD的显著特点:

在GoCD中配置依赖项很容易;

与其他仅支持YAML格式的CI/CD Pipeline工具不同,GoCD允许你以YAML和JSON 格式实现“Pipeline as code”;

尽管GoCD的插件生态系统不像Jenkins那样广泛,但它仍然有一个不断发展的插件生态系统;

GoCD处理用户身份验证和用户授权;

它是最好的CI/CD工具之一,因为它可以与Windows、macOS、Docker等一起使用;

与其他CI/CD Pipelin工具一样,在GoCD中配置依赖项很容易。它还支持并行执行,这是DevOps测试的必备功能。

  1. CodeShip

CodeShip是一个托管的持续集成平台。如果你的公司使用GitHub进行版本控制系统,则使用CodeShip可以大大提高效率,主要原因是它能够直接从GitHub项目进行测试、build和部署。

CodeShip的显著特点:

使用CodeShip,开发人员可以严格控制CI/CD系统的设计。此外,他们可以根据自己的要求自定义环境和工作流程;

它支持广泛的集成功能——安全扫描工具、本地SCM、部署工具和通知工具;

它提供了一个简单的Web界面,使设置CI/CD变得非常容易;

它有两个版本——CodeShip Basic和CodeShip Pro;

你可以使用SSH从CI环境本身调试build;

你可以为每个服务清理缓存,防止每次都从头开始build Docker镜像,从而加快 CI/CD过程。

银行 · 2022-05-04
浏览1201

回答者

顾黄亮
顾黄亮131836
技术总监畅销书作者
擅长领域: 云计算数据库系统运维

顾黄亮 最近回答过的问题

回答状态

  • 发布时间:2022-05-04
  • 关注会员:2 人
  • 回答浏览:1201
  • X社区推广