1.2. Pipelines as Code 概念


Pipelines as Code 会与您的 Git 存储库供应商交互。要使用 Pipelines as Code,您必须首先配置此集成。

您可以将 Pipelines as Code 与 Git 仓库供应商中的任意数量的存储库一起使用。对于每个存储库,您必须在您控制的 OpenShift Container Platform 命名空间中创建 Repository 自定义资源(CR)。此 CR 包含 Pipelines as Code 可以用来访问此存储库的信息。

Pipelines as Code 会启动在此存储库的 Repository CR 所在的命名空间中存储库运行的管道。

在 Git 存储库中,您必须创建一个 .tekton 目录,并将管道作为 YAML 文件存储在此目录中。您定义的每个管道运行都必须包含注解,用于决定必须触发此管道运行的事件。

定义可以引用同一目录中的其他 YAML 文件。例如,您可以在单独的 YAML 文件中定义一个管道,并在管道运行文件中引用此管道。您还可以使用管道运行定义中的注解来引用 Tekton Hub 中的任务和管道资源,从 HTTP 位置以及目录中的其他路径引用。您可以使用定义中的特殊变量来引用执行上下文,如分支的名称。

当发生匹配的事件时,Pipelines as Code 根据您在存储库中提供的定义创建一个 PipelineRun CR。创建 PipelineRun CR 会触发管道运行中定义的管道的执行。

Pipelines as Code 使用 Pipelines as Code 解析器 根据您的定义创建 PipelineRun CR。Pipelines as Code 解析器会检索您使用注解引用的所有资源,并将它们添加到 PipelineRun CR 中。如果 Pipelines as Code 解析器无法检索任何引用的资源,Pipelines as Code 会记录错误,且不会创建管道运行。

Pipelines as Code 还将管道运行定义中的动态变量替换为其值。

重要

默认情况下,当为拉取请求或推送事件创建 PipelineRun CR 时,Pipelines as Code 使用拉取请求或推送事件的源分支中的定义。 如果拉取请求或推送事件修改 .tekton 目录,Pipelines as Code 将使用修改的版本。

您可以在 Repository CR 中定义 pipelinerun_provenance: "default_branch" 设置以更改此行为。如果您指定此设置,Pipelines as Code 始终使用 Git 存储库提供程序上配置的默认分支的 .tekton 目录中的定义,如 mastertrunk

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat