
dyrnq/tektoncd-pipeline-cmd-pullrequest-initgcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/pullrequest-init 是 Tekton Pipeline 框架中的核心组件之一,专门用于初始化与拉取请求(Pull Request, PR)相关的任务流程。该组件负责在基于 PR 触发的 CI/CD 流程中,准备任务执行所需的环境上下文、配置参数,确保后续任务(如代码检查、构建、测试等)能够基于 PR 信息正确运行。
适用于基于拉取请求触发的 CI/CD 流程,典型场景包括:
通过定义 Tekton Task,将 pullrequest-init 作为初始化步骤引用,示例如下:
yamlapiVersion: tekton.dev/v1beta1 kind: Task metadata: name: pr-based-test-task spec: params: - name: pr-number type: string description: "Pull Request 编号" - name: repo-url type: string description: "代码仓库 URL" - name: target-branch type: string description: "目标分支(如 main)" steps: - name: init-pr-context image: gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/pullrequest-init command: ["/pullrequest-init"] args: - "--pr-number=$(params.pr-number)" - "--repo-url=$(params.repo-url)" - "--target-branch=$(params.target-branch)" # 后续任务步骤(如代码拉取、测试等) - name: run-tests image: golang:1.20 command: ["go", "test", "./..."]
pullrequest-init 支持通过命令行参数传入配置,常用参数如下:
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
--pr-number | string | 拉取请求编号(如 GitHub PR 的数字 ID) | 是 |
--repo-url | string | 代码仓库的完整 URL(如 [***]) | 是 |
--target-branch | string | PR 目标分支名称(如 main、master) | 否 |
--source-branch | string | PR 源分支名称(如 feature/add-feature) | 否 |
--output-path | string | 上下文数据输出路径(默认 /workspace/pr-context) | 否 |
除命令行参数外,部分配置可通过环境变量传入,优先级低于命令行参数:
PR_NUMBER:等效于 --pr-numberREPO_URL:等效于 --repo-urlTARGET_BRANCH:等效于 --target-branch初始化完成后,pullrequest-init 会将 PR 上下文数据(如 PR 编号、分支信息、仓库地址等)写入指定路径(默认 /workspace/pr-context),后续任务可通过读取该路径下的文件获取所需信息。
gcr.io 仓库,或通过镜像代理、私有仓库同步该镜像。pullrequest-init 镜像,避免版本不兼容问题。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务