快速开始
本指南适用于希望将 Git 仓库连接到现有 PAC 安装并触发第一个 PipelineRun 的用户。
目录
简介预计阅读时间先决条件步骤 1:配置 Repository确认 tkn pac 插件创建 GitLab Personal Access Token使用 tkn pac 配置 Repository步骤 2:创建你的第一个 Pipeline步骤 3:测试 Pipeline通过 Push 触发通过 Merge Request 触发检查 Pipeline 状态下一步简介
你将会:
- 使用
tkn pac创建一个 PACRepository连接 - 向仓库中添加一个简单的
PipelineRun定义 - 触发并检查首次运行
预计阅读时间
10-15 分钟
先决条件
- PAC 已部署并暴露到 Git 提供程序网络。请参阅 管理 PAC Component。
- 如果你使用 UI 创建或管理 PAC
Repository资源,管理员已启用 Repository UI 功能标志。请参阅 启用 Repository UI 功能。 pipelines-as-code-infoConfigMap 包含公开的 PACcontroller-url。- 如果使用
tkn pac,你需要知道 PAC 命名空间。默认值为tekton-pipelines。 - 当自动注册被禁用或失败时,你需要 PAC webhook URL。请参阅 获取 PAC Webhook URL。
kubectl已为目标集群完成配置。- 带有
pac插件的tknCLI 已安装。请参阅 tkn pac 命令参考。 - 你对 Git 仓库拥有管理员或维护者访问权限。
步骤 1:配置 Repository
下面的步骤以 tkn pac CLI 和 GitLab 为例。对于 GitHub 或基于 manifest 的设置,请参阅 配置 GitHub Repository 或 配置 GitLab Repository。
当 Repository 的 spec.git_provider.type 设置为 github 或 gitlab,并且设置了 spec.git_provider.webhook_secret,同时具备可用的 Repository 本地 provider token 或匹配的集中式 webhook 注册凭证时,webhook 注册 controller 会自动注册或更新 Git 提供程序 webhook。不支持的 spec.git_provider.type 的 Repository 会被跳过,原因会记录为 Repository Event 和 status annotations。
--pac-namespace是 PAC 部署所在的命名空间。默认值为tekton-pipelines。- pipeline 命名空间的交互式提示用于创建
Repository和PipelineRun资源。请在运行命令之前创建该命名空间。
确认 tkn pac 插件
确认该插件可用:
示例输出:
创建 GitLab Personal Access Token
- 转到 GitLab → Settings → Access Tokens
- 创建一个带有
apiscope 的 token - 安全地保存该 token
使用 tkn pac 配置 Repository
请在 Git 仓库目录中运行该命令。.tekton 目录将会创建在当前工作目录中。
如果 PAC 部署在其他命名空间中,请替换 tekton-pipelines。
按照交互式提示操作:
- 输入 Git 仓库 URL(会从当前目录自动检测,或者手动输入)
- 输入 pipelines 的命名空间,例如
project-pipelines。该命名空间必须已存在。 - 此时将创建 Repository CR
- 输入 GitLab project ID(可在 project settings → General 中找到)
- 如果提示,请输入 PAC webhook URL。在启用了自动注册的集群中,此 URL 从
pipelines-as-code-info中读取。 - 输入 webhook secret(或按 Enter 使用自动生成的默认值)
- 输入 GitLab access token(你创建的 Personal Access Token)
- 输入 GitLab API URL(默认值:
https://gitlab.com,或者输入你自托管的 GitLab URL)
该命令将会:
- 在所选命名空间中创建
Repository资源 - 自动配置 GitLab webhook
- 创建包含凭证的 Kubernetes Secret
- 在你的仓库中生成
.tekton/pipelinerun.yaml模板
步骤 2:创建你的第一个 Pipeline
tkn pac create repo 命令会在 .tekton/pipelinerun.yaml 中创建一个基础模板。编辑它以定义你的 pipeline:
提交并推送到你的仓库:
注意:
- 将
<your-branch-name>替换为你的分支名称(例如main、master或develop) - 确保注解
pipelinesascode.tekton.dev/on-target-branch与你的分支名称匹配。例如,如果你的分支是main,使用"[refs/heads/main]";如果是test,使用"[refs/heads/test]" - 要匹配多个分支,请使用逗号分隔的值:
"[main, develop]"或"[refs/heads/main,refs/heads/develop]" - 要匹配所有分支,请使用:
"[refs/heads/*]"
步骤 3:测试 Pipeline
通过 Push 触发
向 pipeline 注解中指定的分支推送一个 commit,以触发 pipeline:
通过 Merge Request 触发
创建一个合并请求以触发 pipeline:
然后在 GitLab 中创建一个合并请求。
检查 Pipeline 状态
查看该命名空间中的 PipelineRuns:
示例输出:
查看 pipeline 日志:
示例输出:
示例输出:
下一步
- 管理 PAC Component - 部署、更新和卸载指南
- 指南 - 端到端的仓库配置演练
- 在 Git 中定义 PipelineRuns - PipelineRun 文件和触发注解
- 触发 PAC Pipelines - 自动事件和评论命令