第 3 章 从 Jenkins 迁移到 OpenShift Pipelines 或 Tekton
您可以将 CI/CD 工作流从 Jenkins 迁移到 Red Hat OpenShift Pipelines,这是基于 Tekton 项目的云原生 CI/CD 体验。
3.1. Jenkins 和 OpenShift Pipelines 概念的比较
您可以查看并比较 Jenkins 和 OpenShift Pipelines 中使用的以下等效术语。
3.1.1. Jenkins 术语
Jenkins 提供声明式和脚本化管道,它们可以使用共享库和插件扩展。Jenkins 中的一些基本术语如下:
- 管道(Pipeline):利用 Groovy 语法自动化构建、测试和部署应用的整个流程。
- 节点(Node):能够编配或执行脚本化管道的计算机。
- 阶段(Stage):在管道中执行的概念上不同的任务子集。插件或用户界面通常使用此块来显示任务的状态或进度。
- 步骤(Step):一项任务指定要执行的确切操作,可使用命令或脚本。
3.1.2. OpenShift Pipelines 术语
OpenShift Pipelines 使用 YAML 语法用于声明管道,由任务组成。OpenShift Pipelines 中的一些基本术语如下:
- 频道(Pipeline):一组串行或并行(或两者)任务。
- 任务(Task) :作为命令、二进制文件或脚本的步骤序列。
- 管道运行(PipelineRun):执行包含一个或多个任务的管道。
任务运行(TaskRun):通过一个或多个步骤执行任务。
注意您可以使用一组输入(如参数和工作区)启动 PipelineRun 或 TaskRun,执行会产生一组输出和工件。
workspace :在 OpenShift Pipelines 中,工作区是概念块,用于以下目的:
- 存储输入、输出和构建工件.
- 在任务间共享数据的通用空间.
- 在 secret 中保存的凭证挂载点、配置映射中保存的配置以及机构共享的通用工具。
注意在 Jenkins 中,没有 OpenShift Pipelines 工作区直接对应的工作区。您可以将控制节点视为工作区,因为它存储克隆的代码存储库、构建历史记录和工件。当作业分配给其他节点时,克隆的代码和生成的工件会存储在该节点中,但控制节点维护构建历史记录。
3.1.3. 概念映射
Jenkins 和 OpenShift Pipelines 的构建块并不等同,特定比较并不提供技术准确的映射。Jenkins 和 OpenShift Pipelines 中的以下术语和概念一般关联:
Jenkins | OpenShift Pipelines |
---|---|
Pipeline | Pipeline 和 PipelineRun |
Stage | 任务 |
Step | 一个任务中的一个步骤 |