1.2. Red Hat OpenShift Pipelines 概念
Red Hat OpenShift Pipelines 提供一组标准自定义资源定义 (CRD),用作构建块,您可以使用它们来为应用程序构建 CI/CD 管道。
- Task
- Task(任务)是在 Pipeline 中可配置的最小单元。它基本上是一个构成 Pipeline 构建的输入和输出的功能。它可以独立运行,也可以作为 Pipeline 的一部分运行。Pipeline 包含一个或多个任务,每个任务由一个或多个步骤组成。步骤(Step)是由任务顺序执行的一系列命令。
- Pipeline
- Pipeline(管道)由一系列任务组成,执行这些任务是为了构建能够自动化应用程序的构建、部署和交付的复杂工作流。它是 PipelineResources、参数以及一个或多个任务的集合。Pipeline 使用 PipelineResources 与外部进行交互,这些资源作为输入和输出添加到任务中。
- PipelineRun
- PipelineRun 是一个 Pipeline 的运行实例。PipelineRun 启动 Pipeline,并为 Pipeline 中执行的每个任务管理一个 TaskRun 的创建。
- TaskRun
- PipelineRun 由 Pipeline 中每个任务的 PipelineRun 自动创建。它是在 Pipeline 中运行任务实例的结果。如果某个任务在 Pipeline 之外运行,它也可以被手工创建。
- Workspace
- Workspace 是一个存储卷,任务(Task)在运行时需要它来接收输入或提供输出。Task 或 Pipeline 会声明 Workspace,一个TaskRun 或 PipelineRun 则会提供存储卷的实际位置,存储卷被挂载到声明的 Workspace 上。这使得任务具有灵活性、可重复使用,并允许在多个任务间共享工作区。
- Trigger
- Trigger(触发器)捕获外部事件,如 Git 拉取请求,并处理事件有效负载以获取关键信息。然后,提取的信息会映射到一组预定义的参数,这些参数会触发一系列可能需要创建和部署 Kubernetes 资源的任务。您可以使用 Triggers 和 Pipelines 来创建全面的 CI/CD 系统,在这些系统中,执行操作完全通过 Kubernetes 资源定义。
- Condition
-
Condition(条件)指的是在您的 Pipeline 中运行某个任务前执行的验证或检查。Conditions 就象是
if
语句,用来执行逻辑测试,它的返回值为True
或False
。如果所有 Conditions 返回True
,则会执行任务;但如果任何 Conditions 返回了失败状态,则会跳过这个任务以及随后的所有任务。您可以使用 Pipeline 中的条件来创建涵盖多个场景的复杂工作流。