触发 PAC Pipelines
本页说明在仓库连接后,PAC 如何启动 PipelineRuns。要定义 PAC 选择的 .tekton/ 文件,请参阅 在 Git 中定义 PipelineRun。
PAC 通过两种方式触发 pipelines:
- 自动事件触发:Git provider 发送 webhook 事件,PAC 将这些事件与
PipelineRun文件上的注解进行匹配。 - 评论命令触发:经授权的用户在评论中使用 PAC 命令,例如
/test、/retest或/cancel。
自动事件触发
自动触发由 .tekton/ 下每个 PipelineRun 中的注解控制。PAC 从触发事件的 Git ref 读取 PipelineRun 定义,匹配这些注解,替换 PAC 变量,并在 Repository 命名空间中创建匹配的 PipelineRuns。
下表说明应使用哪种事件源。有关准确的注解语法和示例,请参阅 触发事件。
对于诸如 /deploy-preview 之类的仓库特定命令,请使用自定义评论触发器。当你希望使用 PAC 原生的 rerun、test、cancel 或 approval 行为时,请使用下面的内置 PAC 命令。
有关更多匹配选项,请参阅 Pipelines as Code 事件匹配文档。
评论命令触发
PAC 还会识别评论中的内置 GitOps 命令。当你想要在不推送新的 commit 的情况下运行、重跑、批准或取消 pipelines 时,这些命令非常有用。
用于 Pull Request 和 Merge Request 的命令
在打开的 PR 或 MR 上使用这些命令:
<pipelinerun> 是 .tekton/ 文件中的 metadata.name 或 metadata.generateName 值,而不是生成的运行时名称。例如,如果文件包含 generateName: sv-event-pr-,请使用:
用于 Commit 评论的命令
GitHub 和 GitLab 支持在添加到已 push 分支 commit 的评论中使用 /test、/retest 和 /cancel。/ok-to-test 用于 PR/MR 授权,不适用于已 push 的 commit。
当你在 commit 上评论时,PAC 必须知道应使用哪个分支或 tag 上下文。如果你未指定,PAC 将使用仓库默认分支。被评论的 commit 必须是该分支的 HEAD commit,或者是 tag 指向的 commit。
当 commit 属于非默认分支时,使用 branch:<branch>:
当命令应在 tag 上下文中运行时,使用 tag:<tag>。目前仅 GitHub App 和 GitHub webhook 集成支持 tag 评论命令:
/retest 和 /cancel 也接受相同的 branch 参数。在受支持的 GitHub tag 评论中,也接受 tag 参数:
在命令中传递参数
内置命令可以包含 key=value 参数。PAC 会从评论中解析这些参数,并可将其用于覆盖定义在 Repository.spec.params 中的自定义参数或受支持的标准变量:
仅会应用已为 Repository 定义或被 PAC 识别的参数。任意键都会被忽略。
Provider 说明
有关更多命令详情,请参阅 Pipelines as Code GitOps 命令文档。
验证触发
发送事件或评论后,请检查定义 Repository CR 的命名空间中的 PipelineRuns:
如果没有创建 PipelineRun,请检查事件注解和 PAC controller 日志:
常见检查项:
下一步
- 在 Git 中定义 PipelineRun - PipelineRun 文件和触发注解
- 传入 Webhook - 面向外部系统的直接 HTTP 触发
- 常见问题 - 故障排查指南