云原生CI/CD:终极清单

选择软件解决方案这意味着勾选正确的方框,成为“云原生”已经成为大多数列表的顶部。但原生云是一个由自己的盒子组成的盒子。
为CI/CD解决方案像JFrog管线一样,云原生从“诞生于云”开始,在云计算环境中本地执行、构建、测试和部署。
但是CI/CD解决方案真正需要满足哪些条件才能完成更大的云原生环境呢?让我们列出这个清单,看看《管道》是如何取得成功的。
什么是云原生
云原生意味着通过遵循云原生最佳实践来有效利用现代云技术。当您这样做时,您可以充分利用云的固有优点,使解决方案高效、有弹性、动态可伸缩并且始终可用。
至少,这意味着从一开始就为云设计。最好的云原生解决方案充分利用云的活力,同时提供速度和访问。
这对CI/CD解决方案意味着什么?当我们创建JFrog管线时,我们问自己:“什么会云原生CI/CD看起来像什么?”以下是我们决定的最重要的事情:
- 基于云原生标准构建
- 基础设施不可知
- 无限动态伸缩
- 配置为代码
- 可观测的
- 启用云原生开发
让我们看看每一个都意味着什么,以及我们如何在pipeline CI/CD中处理它们。
1.基于云原生标准构建
当你更新你的汽车引擎时,你需要使用适合你的工具和零件。当然,你可能会让其他东西起作用,但效果如何,能持续多久?
同样的原则也适用于CI/CD。在云中运行的任何解决方案都应该使用既定的技术——不可变的容器、微服务和编排——这意味着云计算能够以最佳状态工作。
在Docker和Kubernetes上运行
和JFrog平台的其他部分一样,Pipelines依靠Docker和Kubernetes来部署和编排自己的微服务。因此,您可以使用您所知道的云原生工具来控制、监视和分析整个DevOps系统的操作,以及pipeline的RESTfulCI / CD api启用自动化配置和监督。

云原生构建
管道CI/CD不只是在云中运行,它在本地执行构建云。管道的每个步骤默认情况下都在不可变运行时容器在构建机器节点上。每个步骤都可以在它需要的环境和配置中运行,而不需要它不需要的东西,并且每次都会产生相同的结果。
你可以使用的集合运行时Docker映像管道提供开箱即用,或者您可以创建自己的自定义运行时映像.或者,如果需要,您可以运行任何步骤直接在主机虚拟机上代替。

2.基础设施不可知
要成为云原生的,您的CI/CD必须在许多系统上互操作,而不管底层硬件是什么。它可能需要最小的资源集,如存储和内存,但应该能够操作多种类型。2022世界杯阿根廷预选赛赛程
任何云,任何地方
管道CI/CD是云灵活也它可以作为托管服务在主要的云提供商(AWS、Azure,很快还可以在谷歌云平台上提供)上使用,并且可以作为自管理系统安装在任何公共云上,在您自己的数据中心的on-prem云上,或on-prem和公共云的混合云上。一旦运行,它在所有平台上都具有相同的特性和功能。

这种完全的一致性对于启用混合或多云策略至关重要,因此您永远不必为了云到云或云到预置设备(on-prem)的互操作而妥协特性。您的开发人员将永远不必考虑他们的CI/CD运行在什么平台上,因为它的外观和功能总是相同的。
3.无限动态伸缩
可伸缩性是云的全部内容,以满足不断变化的需求,支持不断增长的团队,动态缩小规模以节省基础设施成本,并在全球范围内扩展您的业务。而且您需要所有的服务都能够在不中断工作的情况下快速扩展和缩小。
随需应变的机器
管道CI/CD与它所运行的云一样具有弹性,并且足够智能,可以响应高需求和低需求。通过动态构建节点,pipeline可以在需要时从云服务或k8获取构建资源,并在不需要时释放它们。2022世界杯阿根廷预选赛赛程按需计算保持您的CI/CD不间断地无限制地工作,同时帮助控制您的云服务成本。

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

4.配置为代码
管道使用声明性DSL来定义基于YAML的工作流,YAML是“云原生语言”,也支持Kubernetes和Helm等技术。
GitOps用于CI/CD
这种云原生实践为配置CI/CD带来了以开发人员为中心的体验,支持在其余代码中使用相同的软件最佳实践。管道从Git源代码控制存储库中存储的位置同步开发人员的CI/CD DSL文件,并可以触发新的提交、拉请求或其他操作的执行。
通过将其存储在与管线应用程序分离的版本控制下,可以很容易地可靠地重新加载声明性管线以进行任何所需的系统恢复、传输或恢复,从而使停机时间尽可能短。管道还允许您从独立的、相互依赖的DSL文件构建复杂的、多部分的“管道的管道”。
是什么,不是怎么做
管道的本机步骤提供了对最常见的CI/CD操作的开箱即用的访问,用于构建、提升和分发工件。这些声明性步骤知道如何执行它们的操作,您只需要指定一组适合YAML的键值对定义。您可以通过组装这些预先构建的步骤来创建管道,从而无需编写自己的命令脚本。

5.可观测的
通过容器、接口和编排依赖于机器虚拟化,云原生系统本质上是不透明的。因此,云原生CI/CD必须为您提供询问有关其状态的问题并获得可操作答案的方法。
交互式图表和日志
管道的丰富工作流图使您能够看到步骤是如何连接的,并在管道执行时观察它们的进展。单击此处可实时显示构建节点上发生的事情,或查看日志以诊断问题。管线捕获每次运行的完整记录供您检查。

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

REST api
与JFrog平台的所有组件一样,pipes为您提供了一套全面的RESTful api,用于查询和命令CI/CD服务器。使用这些工具,您可以通过自己的自定义应用程序监视CI/CD资源的使用情况,并自动进行配置。
6.启用云原生开发
云原生CI/CD不能只是云原生的,它必须帮助你构建云本机。它应该包括将应用程序作为容器化的微服务来开发和生产所需的设施,这些微服务可以在云中有效地运行。
管道提供了开箱即用的集成与基本的云原生工具,如码头工人注册而且Kubernetes,使您能够将您构建的应用程序交付到云端。
集装箱智能
管道使得构建Artifactory支持的各种包类型(包括Docker)变得很容易。本机步骤使管道可以开箱即用构建Docker镜像并推送到Docker注册表在工厂或其他地方。
准备好掌舵
管道本机步骤也启用Helm,两者都适用将Helm图表发布到存储库,部署到Kubernetes作为持续交付的一部分。
建立Kubernetes注册表
作为JFrog平台的一部分,Pipelines自然地与Artifactory集成在一起,使DevOps最佳实践成为CI/CD的无缝部分。支持构建的可跟踪性发布构建信息元数据对于每个工件来说,了解在Kubernetes集群中部署了什么是必不可少的。
在云端,为了云端
云原生意味着充分利用云来创建健壮、灵活的解决方案,这些解决方案随时随地都可用。
但是云原生CI/CD意味着超越这些宏大的要求。管道是一个云原生DevOps解决方案,可以构建应用程序在云,也为云也一样。
看看管线by在云端免费开始!
