2021年值得关注的五大CI/CD工具

JFrog支持
2021-03-09 16:24

2021年值得关注的五大CI/CD工具

自动化和持续集成/持续开发(CI/CD)可以对开发人员和IT操作的工作方式产生巨大的积极影响。举个例子,从GitLab的2020年全球DevSecOps调查CI/CD工具是如何通过消除手动干预任务(如测试、依赖项检查、合并代码和从一个环境推送到另一个环境)的需要来提高开发和运维人员的生产力的。

当然,要充分利用CI/CDDevOps管道,你需要正确的文化、实践和工具。有了所有可用的CI/CD工具选项,初学者可能很难知道从哪里开始。为了帮助您开始运行,我们编制了当今可用的前5个CI/CD工具的列表。对于每个工具,我们都会给你一个速成课程,告诉你它是什么,以及它的功能和优点是什么。

#1: GitHub动作

用户添加图片

来源:Github

这是什么?

GitHub已经是代码库领域的巨人,GitHub Actions使团队能够在GitHub平台上本地实现CI/CD工作流。

GitHub Actions是一个事件驱动的自动化工具。这意味着对于任何GitHub事件——比如提交、issue创建或pull请求——你都可以自动触发工作流。例如,可以将拉取请求配置为自动运行一组测试。

GitHub Actions的价值很简单:过去需要多个集成和服务的CI/CD进程可以直接在GitHub存储库中运行。这意味着开发流程中的复杂性和摩擦更少。

特点和优点:

  • 直接从Github构建、测试和部署

  • 自动工作流可以通过任何GitHub事件(推、拉、问题创建等)发起。

  • 实时日志

  • 内置秘密存储

  • 用于创建自定义操作的大型库

  • 支持大多数主要平台和语言

网站:
https://github.com/features/actions

注册免费或付费级别:

https://github.com/pricing

# 2: GitLab

用户添加图片

来源:GitLab

这是什么?

GitLab是一个开源的(你可以查看GitLab上的源代码),该服务标榜自己是“一个完整的DevOps平台”。与GitHub一样,GitLab的主要特性之一是能够充当源代码存储库。然而,GitLab不仅仅是一个代码存储库和许多DevOps CI/CD特性中的层,以帮助团队自动化他们的管道。GitLab背后的理念是将源代码管理和CI/CD工具的功能整合到一起,这些工具可以构建、测试和部署代码。

GitLab的一个缺点是,并不是所有的功能都可以在所有层使用,黄金/终极层可能会很昂贵。

特点和优点:

  • 源代码管理

  • 构建/部署/测试功能

  • 基于云的SaaS(软件即服务)和本地产品

  • 时间跟踪

  • 分析

  • 静态应用程序安全性测试

网站:

https://gitlab.com

免费试用链接:

https://about.gitlab.com/free-trial/

# 3: CircleCI

用户添加图片

来源:CircleCI Brandfolder

这是什么?

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多个并行执行器

网站:

https://circleci.com/

免费试用链接:

https://circleci.com/signup/

#4: Argo CD

用户添加图片

来源:CNCF/Argo Logo

这是什么?

在过去的几年里,Argo CD已经成为Kubernetes (k8)最流行的“GitOps”工具之一。其受欢迎程度激增的部分原因是它是云原生和开源的最爱。Argo在Apache 2.0许可下发布,是一个CNCF(云原生计算基金会)孵化项目,核心基础设施倡议最佳实践得分为95%。

Argo使用基于git的存储库(如GitHub)作为基于kubernetes的应用程序所需状态的真实来源。然后,它充当Kubernetes控制器,监视应用程序,并可以主动识别和重新同步偏离预期状态的集群。

特点和优点:

  • 自动化k8部署

  • 支持多种配置管理模板(YAML、Helm等)

  • 广泛的单点登录支持(Oauth2、LDAP、GitHub、SAML等)

  • 回滚到受支持的存储库中的任何配置

  • 配置漂移检测

  • Webhook集成

  • 支持像蓝/绿这样的复杂部署

  • 监控应用程序的健康状态报告

网站:

https://argoproj.github.io/

Argo入门:

https://argoproj.github.io/argo-cd/getting_started/

#5: JFrog管线

JFrog的Logo
这是什么?

随着DevOps CI/CD工作流的扩展,它们可能变得难以管理和维护。JFrog Pipelines是下一代CI/CD管道自动化和工作流编排工具,提供多个管道的集中管理。它允许您管理跨多个环境和CI/CD工具(例如GitLab, Jenkins等)的管道。此外,与更广泛的JFrog平台的本地集成允许进行组件分析、安全性和遵从性扫描以及策略执行。

特点和优点:

  • 具有实时指标的交互式仪表板

  • 基于云的SaaS(软件即服务)和本地产品

  • 不需要脚本,本机步骤简化了复杂管道的创建

  • 管道即代码,使用简单的YAML语法

  • 细粒度的安全

  • 可伸缩——可以在HA(高可用性)环境中支持数千个用户

  • 可扩展——支持多种操作系统和技术栈,并与最流行的DevOps CI/CD工具集成

  • 与JFrog平台的本地集成

网站:

//m.si-fil.com/pipelines/

免费试用链接:

//m.si-fil.com/start-free/

下一步:开始使用您的第一个CI/CD管道

我们列出的工具是研究您的DevOps管道需要哪些CI/CD工具的很好的起点。如果您已经准备好开始您的第一个CI/CD管道演示项目,欢迎您查看我们的管道分步教程

学习如何创建一个DevOps管道