大家所熟知的CI/CD工具有:1、Jenkins;2、GitLab;3、Buddy;4、TeamCity;5、Travis CI。Jenkins是一个用于自动化的开源服务器,在其中进行集中开发和持续集成的过程。它是一个基于Java的、自包含的、跨平台的CI/CD工具,带有Windows、macOS和其他类Unix操作系统包。
1、Jenkins
Jenkins是一个用于自动化的开源服务器,在其中进行集中开发和持续集成的过程。它是一个基于Java的、自包含的、跨平台的CI/CD工具,带有Windows、macOS和其他类Unix操作系统包。Jenkins通过大量可用的插件促进了软件开发过程的构建、部署和自动化,并在更广泛的代码基础上促进了对孤立修改的实时测试和报告。
Jenkins特点:在不同的操作系统上快速和容易的安装和升级;更简单易用的GUI;可扩展的社区资源插件;轻松的环境设置内的用户界面;支持使用分布式主从架构进行构建;构建依赖表达式的时间表;支持在预构建阶段执行shell和Windows命令;支持构建状态通知。
2、GitLab
GitLab是一个处理软件开发生命周期各个阶段的工具包。它是用于CI/CD的优异工具之一,因为它在一个指示板内提供了各种特性,比如代码审查、CI/CD、持续部署等等。要使用GitLab CI/CD并在YAML文件中定义构建、测试和部署脚本,必须将代码库托管在Git存储库中。对于每次推或提交,GitLab都允许你执行构建、运行测试和部署代码。你可以在虚拟机、Docker容器或另一个不同的服务器上构建作业。
GitLab特点:使用分支工具查看、构建和管理代码和项目数据;代码和项目数据从单一的分布式版本控制系统设计、开发和控制,允许快速迭代和交付业务价值;为项目和代码协作提供一致的真实性和可伸缩性;允许交付团队通过自动化源代码构建、集成和验证来完全采用CI;提供了容器扫描、应用程序的静态安全性测试(SAST)、应用程序的动态安全性测试(DAST)以及提供稳定应用程序和许可执行的依赖项扫描;帮助自动化和缩短启动和程序交付。
3、Buddy
Buddy是一个很棒的CI/CD平台,旨在为Web开发人员减少入门级的DevOps障碍。它使用来自GitHub、Bitbucket和GitLab的代码来构建、测试和部署应用程序。有超过100种可用的操作可以以各种方式配置,管道的构建就像建造一座砖砌的房子。它利用Docker容器和预安装的编程语言和框架来与DevOps一起构建、监视和通知操作。
Buddy功能:快速作为一个测试环境来定制基于Docker的镜像;智能变化识别、现代缓存、并行和各种优化;构建和测试环境来开发、定制和重用;简单且加密的固定和可设置的范围:工作区、项目、管道、操作;Elastic,MariaDB,Memcached,Mongo,PostgreSQL,RabbitMQ,Redis,Selenium Chrome和Firefox附加服务;报告和日志的实时性能,无限的历史;控制用于克隆、导出和导入管道的工作流;优异的服务和与Git的集成。
4、TeamCity
TeamCity是一个基于服务器的CI/CD管道工具,由JetBrains创建和管理,该组织开发了许多强大的工具,如PyCharm,IntelliJ Idea等。对于开源项目,它是免费使用的,并为小型团队提供了Azure DevOps和Jira软件云的简单集成解决方案。它在Java环境中运行并与Visual Studio和ide集成。你可以在Windows和Linux服务器上安装这个工具,它同时支持.net和开放堆栈项目。TeamCity还支持来自GitLab和Bitbucket的服务器拉取请求,涉及基于令牌的认证、识别、Go测试报告和AWS Spot Fleet请求。
TeamCity的特点:为子项目重用父项目配置和设置提供了几种方法;同时,在各种环境上并行运行;允许运行历史构建,查看测试历史报告,固定,标记,并将构建附加到收藏;快速定制、通信和扩展服务器;维护功能和安全的CI服务器;灵活的用户管理、分配用户任务、对用户进行分组、各种用户身份验证方法,以及为服务器上所有活动的可靠性记录所有用户操作。
5、Travis CI
Travis CI和Jenkins一样,也是CI/CD管道工具市场的早期进入者之一。它最初只针对开源项目,后来也转向支持闭源项目。Travis CI会自动检测新提交并推送到GitHub存储库。然后,它将构建项目,并在每次提交新代码后适当地运行测试。如果你的项目在GitHub或Bitbucket上,Travis CI是开源和企业级项目较好的CI/CD工具之一。它支持许多构建配置和语言,如Node、PHP、Python、Java、Perl等等。
Travis CI特点:快速配置与设置;实时构建视图监控GitHub项目;Pull请求支持;部署到各种云基础设施;数据库服务预装;在传递构建时自动部署;为所有构建清理安全的vm;支持macOS、iOS和Linux。
延伸阅读:
什么是CI/CD?
CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。它是作为一个面向开发和运营团队的解决方案,主要针对在集成新代码时所引发的问题(也称为:“集成地狱”)。CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务通常被统称为 CI/CD 管道,由开发和运维团队以敏捷方式协同支持。
协同开发是目前主流的开发方式,也就是多位开发人员可以同时处理同一个应用的不同模块或者功能。但是,如果企业计划在同一天,将所有开发分支代码集成在一起,最终可能会花费很多时间和进行很多重复劳动,费事费力。因为代码冲突是难以避免的。如果开发人员本地的环境和线上不一致的话,那么这个问题就更加复杂了。持续集成(CI)可以帮助开发者更加方便地将代码更改合并到主分支。一旦开发人员将改动的代码合并到主分支,系统就会通过自动构建应用,并运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用造成破坏。如果自动化测试发现新代码和现有代码之间存在冲突,CI 可以更加轻松地快速修复这些错误。
文章标题:你所熟知的CI/CD工具都是有哪些,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37337