云原生CI/CD:终极清单

选择软件解决方案这意味着勾选正确的复选框,成为“云原生”已经成为大多数列表的首选。但原生云是一个由自己的盒子组成的盒子。

2022世界杯预选赛 与JFrog Pipelines一样,云原生从“诞生于云”开始,在云计算环境中本地执行、构建、测试和部署。

但是,CI/CD解决方案真正需要满足哪些条件才能完成更大的云原生框架呢?让我们来列出这个列表,看看管线是如何发挥作用的。

什么使云原生

云原生意味着通过遵循云原生最佳实践有效地利用现代云技术。当您这样做时,您可以充分利用云的固有优势,使解决方案高效、有弹性、动态可扩展并且始终可用。

至少,这意味着从一开始就为云设计。最好的云原生解决方案利用云的全部动态,同时提供速度和访问。

这对于CI/CD解决方案意味着什么?当我们创建JFrog Pipelines时,我们问自己,“什么会云原生CI/CD看起来像什么?”以下是我们决定的最重要的事情:

  1. 基于云原生标准构建
  2. 基础设施不可知
  3. 无限动态扩展
  4. 配置为代码
  5. 可观测的
  6. 启用云原生开发

让我们来看看这些都是什么意思,以及我们如何在pipeline CI/CD中解决它们。

1.基于云原生标准构建

当你更新你的汽车引擎时,你需要使用设计适合的工具和零件。当然,你可以让其他东西工作,但效果如何,持续多久?

同样的原则也适用于CI/CD。在云中运行的任何解决方案都应该使用既定的技术——不可变容器、微服务和编排——以使云计算发挥最佳作用。

运行在Docker和Kubernetes上

与JFrog平台的其他部分一样,Pipelines依赖于Docker和Kubernetes来部署和编排自己的微服务。因此,您可以使用您所知道的云原生工具来控制、监视和分析整个DevOps系统的操作,以及pipeline的RESTfulCI / CD api启用自动化配置和监督。

JFrog DevOps平台

云原生构建

管道CI/CD不只是在云中运行,它在云中本地执行构建。默认情况下,管道的每个步骤都在不可变运行时容器在构建机器节点上。每个步骤都可以在它需要的环境和配置中运行,而不需要它不需要的东西,并且每次都会产生相同的结果。

你可以用的集合运行时Docker映像管道提供了开箱即用的功能,或者您可以自己创建自定义运行时映像.或者,如果需要,您可以运行任何步骤直接在主机虚拟机上安装代替。

云原生ci/cd运行时

2.基础设施不可知

要成为云原生的,您的CI/CD必须能够在许多系统上互操作,而不管底层硬件是什么。它可能需要最少的资源集,如存储和内存,但应该能够操作许多类型。2022世界杯阿根廷预选赛赛程

任何云,任何地方

管道CI/CD是云灵活也它可以作为托管服务在主要的云提供商(AWS、Azure和Google cloud Platform)上使用,并且可以作为自管理系统安装在任何公共云上,安装在您自己的数据中心的本地云上,或者安装在本地和公共云的混合云上。一旦运行,它在所有平台上都具有相同的特性和功能。

multicloud ci / cd

这种完全的一致性对于实现混合云或多云策略至关重要,因此您不必牺牲特性来实现云到云或云到本地的互操作。您的开发人员永远不必考虑他们的CI/CD运行在哪个平台上,因为它看起来和功能总是一样的。

3.无限动态扩展

可伸缩性是云计算的全部内容,可以满足不断变化的需求,支持不断增长的团队,动态缩减规模以节省基础设施成本,并在全球范围内扩展您的运营。你需要所有的服务都能够在不中断工作的情况下快速扩展和缩减。

随需应变的机器

管道CI/CD与它运行的云一样具有弹性,并且足够智能,可以响应高需求和低需求。通过动态构建节点,pipeline可以在需要时从云服务或k8获取构建资源,并在不需要时释放它们。2022世界杯阿根廷预选赛赛程按需计算让您的CI/CD不受限制地不停地嗡嗡作响,同时帮助控制您的云服务成本。

按需ci/cd节点

一个CI/CD,多个管道

这个云原生特性支持管道的并发,通过一个单一的中央管道安装,可以同时驱动多个CI/CD管道。为了进一步支持不断增长的用户和作业数量,可以使用高可用性通过尽可能多的冗余、负载均衡的实例来无限扩展。

并发的ci/cd管道

4.配置为代码

pipeline使用声明式DSL来定义基于YAML的工作流,YAML是“云原生语言”,也支持Kubernetes和Helm等技术。

用于CI/CD的GitOps

这种云原生实践为配置CI/CD带来了以开发人员为中心的体验,使您可以在其余代码中使用相同的软件最佳实践。管道将开发人员的CI/CD DSL文件从存储在Git源代码控制库中的位置同步,并可以在新的提交、拉取请求或其他操作时触发执行。

通过将管道存储在与管道应用程序分开的版本控制下,可以轻松可靠地重新加载声明性管道以进行任何所需的系统恢复、传输或恢复,从而尽可能缩短停机时间。管道还使您能够从独立的、相互依赖的DSL文件构建复杂的、多部分的“管道的管道”。

是什么,不是怎么做的

管道的原生步骤为构建、推广和分发工件提供了对大多数常见CI/CD操作的开箱即用访问。这些声明性步骤知道如何执行它们的操作,您只需要指定一组自然适合YAML的键:值对定义。您可以通过组合这些预先构建的步骤来创建管道,从而无需编写自己的命令脚本。

云原生ci/cd代码

5.可观测的

由于依赖于通过容器、接口和编排实现的机器虚拟化,云原生系统本质上是不透明的。因此,云原生CI/CD必须为您提供询问有关其状态的问题并获得可操作的答案的方法。

交互式图表和日志

管道丰富的工作流图使您能够看到您的步骤是如何连接的,并在管道执行时查看管道的进度。单击以实时显示构建节点上发生的情况,或查看日志以诊断问题。管道捕获每次运行的完整记录供您检查。

交互式ci/cd管道

机器利用率

通过JFrog平台的管道UI提供了对构建机器节点及其支持资源的分配和活动的可见性。2022世界杯阿根廷预选赛赛程

Ci /cd机器利用率

REST api

与JFrog平台的所有组件一样,Pipelines提供了一组全面的RESTful api,供您查询和命令CI/CD服务器。使用这些工具,您可以通过自己的自定义应用程序监视CI/CD资源利用率,以及自动配置。

6.启用云原生开发

云原生CI/CD不能仅仅是云原生的,它必须对您有所帮助构建云本机。它应该包括开发和生产应用程序所需的设施,这些应用程序是可以在云中高效运行的容器化微服务。

pipeline提供了与基本云原生工具的开箱即用集成码头工人注册Kubernetes,使您能够将您构建的应用程序交付到云端。

集装箱智能

管道可以很容易地为Artifactory支持的各种包类型(包括Docker)构建。原生步骤使管道准备开箱即用构建Docker镜像并推送到Docker注册表在Artifactory或其他地方。

准备掌舵

管道的本地步骤也支持Helm将Helm图表发布到存储库,部署到Kubernetes作为持续交付的一部分。

构建Kubernetes注册表

作为JFrog平台的一部分,Pipelines自然地与Artifactory集成,使DevOps最佳实践成为您的CI/CD的无缝部分。启用构建的可跟踪性发布构建信息元数据对于每个工件来说,了解部署到Kubernetes集群的内容是至关重要的。

在云端,为了云端

云原生意味着最好地利用云来创建随时随地可用的健壮、弹性的解决方案。

但是云原生CI/CD意味着甚至要超越这些大的需求。pipeline是一个云原生DevOps解决方案,可以构建应用程序云,但也云也一样。

看一下pipes by在云端免费入门