2021年值得关注的五大CI/CD工具
2021年值得关注的五大CI/CD工具
自动化和持续集成/持续开发(CI/CD)可以对开发人员和IT操作的工作方式产生巨大的积极影响。举个例子,从GitLab的2020年全球DevSecOps调查CI/CD工具是如何通过消除手动干预任务(如测试、依赖项检查、合并代码和从一个环境推送到另一个环境)的需要来提高开发和运维人员的生产力的。
当然,要充分利用CI/CDDevOps管道,你需要正确的文化、实践和工具。有了所有可用的CI/CD工具选项,初学者可能很难知道从哪里开始。为了帮助您开始运行,我们编制了当今可用的前5个CI/CD工具的列表。对于每个工具,我们都会给你一个速成课程,告诉你它是什么,以及它的功能和优点是什么。
#1: GitHub动作
这是什么?
GitHub已经是代码库领域的巨人,GitHub Actions使团队能够在GitHub平台上本地实现CI/CD工作流。
GitHub Actions是一个事件驱动的自动化工具。这意味着对于任何GitHub事件——比如提交、issue创建或pull请求——你都可以自动触发工作流。例如,可以将拉取请求配置为自动运行一组测试。
GitHub Actions的价值很简单:过去需要多个集成和服务的CI/CD进程可以直接在GitHub存储库中运行。这意味着开发流程中的复杂性和摩擦更少。
特点和优点:
直接从Github构建、测试和部署
自动工作流可以通过任何GitHub事件(推、拉、问题创建等)发起。
实时日志
内置秘密存储
用于创建自定义操作的大型库
支持大多数主要平台和语言
网站:
https://github.com/features/actions
注册免费或付费级别:
# 2: GitLab
这是什么?
GitLab是一个开源的(你可以查看GitLab上的源代码),该服务标榜自己是“一个完整的DevOps平台”。与GitHub一样,GitLab的主要特性之一是能够充当源代码存储库。然而,GitLab不仅仅是一个代码存储库和许多DevOps CI/CD特性中的层,以帮助团队自动化他们的管道。GitLab背后的理念是将源代码管理和CI/CD工具的功能整合到一起,这些工具可以构建、测试和部署代码。
GitLab的一个缺点是,并不是所有的功能都可以在所有层使用,黄金/终极层可能会很昂贵。
特点和优点:
源代码管理
构建/部署/测试功能
基于云的SaaS(软件即服务)和本地产品
时间跟踪
分析
静态应用程序安全性测试
网站:
免费试用链接:
https://about.gitlab.com/free-trial/
# 3: CircleCI
这是什么?
CircleCI是一个基于云的CI/CD工具,是Jenkins最流行的现代替代品之一。它在速度、性能和可伸缩性方面享有盛誉。许多大公司——包括Facebook和Spotify——使用CircleCI作为他们CI/CD工作流程的一部分。
CircleCI与BitBucket和GitHub集成,使开发团队能够在每次提交后测试他们的代码,并为大规模的DevOps管道创建足够复杂的工作流。CircleCI也非常强调速度。例如,该平台支持并行使用多个执行器(运行自动化测试的虚拟机或容器)来提高吞吐量。
尽管是一个企业级的工具,CircleCI也很容易上手。一个简单的基于yaml的配置和经常更新的HTML5 GUI(图形用户界面)使开始使用CircleCI很容易。
特点和优点:
简单初始配置
与GitHub和BitBucket集成
可扩展的云平台
部署到各种环境,包括AWS、Heroku、NPM和JFrog Artifactory
可以SSH在构建环境调试
优化速度,可在付费层上运行80多个并行执行器
网站:
免费试用链接:
#4: Argo CD
这是什么?
在过去的几年里,Argo CD已经成为Kubernetes (k8)最流行的“GitOps”工具之一。其受欢迎程度激增的部分原因是它是云原生和开源的最爱。Argo在Apache 2.0许可下发布,是一个CNCF(云原生计算基金会)孵化项目,核心基础设施倡议最佳实践得分为95%。
Argo使用基于git的存储库(如GitHub)作为基于kubernetes的应用程序所需状态的真实来源。然后,它充当Kubernetes控制器,监视应用程序,并可以主动识别和重新同步偏离预期状态的集群。
特点和优点:
自动化k8部署
支持多种配置管理模板(YAML、Helm等)
广泛的单点登录支持(Oauth2、LDAP、GitHub、SAML等)
回滚到受支持的存储库中的任何配置
配置漂移检测
Webhook集成
支持像蓝/绿这样的复杂部署
监控应用程序的健康状态报告
网站:
Argo入门:
https://argoproj.github.io/argo-cd/getting_started/
#5: JFrog管线
这是什么?
随着DevOps CI/CD工作流的扩展,它们可能变得难以管理和维护。JFrog Pipelines是下一代CI/CD管道自动化和工作流编排工具,提供多个管道的集中管理。它允许您管理跨多个环境和CI/CD工具(例如GitLab, Jenkins等)的管道。此外,与更广泛的JFrog平台的本地集成允许进行组件分析、安全性和遵从性扫描以及策略执行。
特点和优点:
具有实时指标的交互式仪表板
基于云的SaaS(软件即服务)和本地产品
不需要脚本,本机步骤简化了复杂管道的创建
管道即代码,使用简单的YAML语法
细粒度的安全
可伸缩——可以在HA(高可用性)环境中支持数千个用户
可扩展——支持多种操作系统和技术栈,并与最流行的DevOps CI/CD工具集成
与JFrog平台的本地集成
网站:
免费试用链接:
下一步:开始使用您的第一个CI/CD管道
我们列出的工具是研究您的DevOps管道需要哪些CI/CD工具的很好的起点。如果您已经准备好开始您的第一个CI/CD管道演示项目,欢迎您查看我们的管道分步教程.
