
dyrnq/tektoncd-pipeline-cmd-git-initgcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init 是 Tekton Pipeline 项目的官方组件镜像,包含 git-init 工具。该工具专为在 Tekton Task 中执行 Git 相关操作设计,主要用于从 Git 仓库获取源代码,是 Tekton CI/CD 流程中实现"源代码获取"步骤的关键组件。
user.name、user.email、http.proxy 等)在 Tekton Task 中,通过 step 引用该镜像,配置 Git 操作参数。以下是典型的 Task 定义示例:
yamlapiVersion: tekton.dev/v1beta1 kind: Task metadata: name: git-clone-example spec: params: - name: repo-url type: string description: Git 仓库 URL(如 [***] 或 ***:example/repo.git) - name: branch type: string description: 分支或标签名 default: main workspaces: - name: source description: 用于存放克隆代码的工作空间 steps: - name: git-clone image: gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init workingDir: $(workspaces.source.path) args: - "-url=$(params.repo-url)" - "-revision=$(params.branch)" - "-path=." # 克隆到当前工作目录(即工作空间路径)
git-init 工具通过命令行参数接收配置,常用参数如下:
| 参数名 | 描述 | 示例值 |
|---|---|---|
-url | 必选,Git 仓库 URL(HTTPS 或 SSH 格式) | [***] |
-revision | 可选,分支名、标签名或提交哈希(默认:仓库默认分支) | main、v0.45.0、a1b2c3d4 |
-path | 可选,克隆目标路径(相对于当前工作目录,默认:.) | src |
-depth | 可选,浅克隆深度(仅拉取最近 N 次提交,减少数据传输) | 1 |
-sslVerify | 可选,是否验证 SSL 证书(true/false,默认:true) | false |
-submodules | 可选,是否拉取子模块(true/false,默认:false) | true |
-gitConfig | 可选,自定义 Git 配置(格式:key=value,可多次指定) | user.name=tekton-ci,user.email=*** |
git-init 支持多种 Git 认证方式,需通过 Kubernetes Secret 挂载或环境变量注入凭证:
id_rsa)存储在 Kubernetes Secret 中~/.ssh 目录(通常路径为 /root/.ssh)示例 Secret 定义:
yamlapiVersion: v1 kind: Secret metadata: name: git-ssh-cred type: Opaque data: id_rsa: <base64-encoded-ssh-private-key> # 私钥内容经 base64 编码 known_hosts: <base64-encoded-known-hosts> # 可选,预配置 known_hosts 避免主机验证提示
Task 中挂载配置:
yamlworkspaces: - name: ssh-creds mountPath: /root/.ssh readOnly: true
GIT_USERNAME 和 GIT_PASSWORD 注入凭证(适用于 HTTPS 仓库)GIT_PASSWORD,GIT_USERNAME 可设为任意非空值(如 git)示例 Task 步骤环境变量配置:
yamlsteps: - name: git-clone image: gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init env: - name: GIT_USERNAME valueFrom: secretKeyRef: name: git-https-cred key: username - name: GIT_PASSWORD valueFrom: secretKeyRef: name: git-https-cred key: password args: ["-url=[***]", "-revision=main"]
除认证相关变量外,git-init 还支持以下环境变量控制行为:
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
GIT_SSL_NO_VERIFY | 禁用 SSL 证书验证(等价于 -sslVerify=false) | false |
HOME | 指定用户主目录(影响 SSH 配置文件路径,如 .ssh 目录位置) | /root |
GIT_TERMINAL_PROMPT | 禁用 Git 终端交互提示(避免因凭证缺失导致任务阻塞) | 0 |
docker run 命令独立运行-depth 参数启用浅克隆以提升性能sslVerify=false 或挂载 CA 证书至容器的信任根目录(如 /etc/ssl/certs)





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务