tkn pac 命令参考
本指南涵盖用于仓库管理、pipeline 生成和解析的 tkn pac CLI 命令。
本指南提供 tkn pac CLI 插件命令的完整参考,包括仓库管理、pipeline 生成和解析。
目录
前提条件安装 tkn pac 插件验证安装仓库命令tkn pac create repositorytkn pac listtkn pac repo describeGenerate 命令tkn pac generateResolve 命令tkn pac resolve全局选项最佳实践1. 仓库管理2. pipeline 生成故障排查找不到命令连接问题下一步前提条件
- 已安装
tknCLI - 已安装
tkn pac插件 - 已配置 kubectl 以访问你的集群
- 已部署 PAC 组件
安装 tkn pac 插件
请参阅 tkn pac Releases 获取最新版本。
请使用官方 tkn pac 项目发布指南中的任意一种方法安装 tkn pac,并确保可执行文件在你的 PATH 中可用。
验证安装
示例输出:
示例输出:
仓库命令
tkn pac create repository
根据 pipeline run 模板创建新的 Pipelines as Code 仓库和命名空间。
基本语法:
交互模式:
该命令会提示你输入:
- Git 仓库 URL(从当前目录自动检测)
- pipeline 所在的命名空间(默认:
project-pipelines) - Git 提供商特定信息(例如 GitLab 的项目 ID)
- PAC 控制器 URL(自动检测)
- Webhook secret(自动生成)
- Git 提供商访问令牌
- Git 提供商 API URL(因提供商而异)
执行内容:
- 在你的 Kubernetes 集群中创建 Repository CR
- 自动配置 Git 提供商 webhook
- 创建包含 Git 提供商凭据的 Kubernetes Secret
- 在你的仓库中生成
.tekton/pipelinerun.yaml模板
示例:
示例输出(交互式提示):
有关详细用法,请参阅 Configure Repository。
tkn pac list
列出所有 Pipelines as Code 仓库,并显示关联运行的最近状态。
基本语法:
在特定命名空间中列出:
输出格式:
选项:
-n, --namespace <namespace>:指定要列出仓库的命名空间(默认:当前 kubectl context 的命名空间)-A, --all-namespaces:列出所有命名空间中的仓库-o, --output <format>:输出格式(default、json、yaml、wide)
示例:
tkn pac repo describe
描述一个 Pipelines as Code 仓库及其关联运行。
基本语法:
选项:
-n, --namespace <namespace>:指定仓库所在的命名空间(默认:当前 kubectl context 的命名空间)-o, --output <format>:输出格式(default、json、yaml)
输出包含:
- Repository CR 详情
- Git 提供商配置
- Webhook 配置
- 最近的 PipelineRun 状态
- 最近一次运行信息
示例:
示例输出:
Generate 命令
tkn pac generate
生成一个简单的 PipelineRun 模板。
基本语法:
功能:
- 自动从目录中检测当前 Git 信息
- 使用基础语言检测能力
- 根据检测到的语言添加额外任务
- 创建
.tekton/pipelinerun.yaml模板
语言检测:
该命令会检测项目语言并添加相应任务:
- Python:检测
setup.py或requirements.txt,添加pylint任务 - Go:检测
go.mod,添加golangci-lint任务 - Node.js:检测
package.json,添加npm任务 - Java:检测
pom.xml,添加maven任务
示例:
示例输出:
生成的模板示例:
Resolve 命令
tkn pac resolve
以由 Pipelines as Code 服务拥有的方式执行 pipeline run。这对于在本地测试 pipeline 定义而无需创建新的 commit 非常有用。
resolve 命令会处理你的 PipelineRun 定义,并:
- 将 PAC 变量(例如
{{repo_url}}、{{revision}})替换为实际值 - 解析 task 注解(如有需要,会从 Tekton Hub 获取任务)
- 验证 pipeline 结构
- 展示最终的 PipelineRun 外观
重要:此命令不会在你的集群中创建 PipelineRun。它只会在本地处理并验证 pipeline 定义。
基本语法:
选项:
-f, --file:pipeline 文件或目录的路径(必填)-p, --param:覆盖参数值(格式:key=value)-o, --output:输出格式(yaml、json 或 default)
从文件解析:
从目录解析:
该命令会处理目录中的所有 .yaml 和 .yml 文件。
覆盖参数:
你可以覆盖从 Git 仓库派生出的默认参数值:
多个文件:
你可以多次使用 -f 标志:
自动检测:
当从源代码仓库中运行时,该命令会尝试:
- 检测当前 Git 信息
- 自动解析以下参数:
- 当前 revision(commit SHA)
- 分支名称
- 仓库 URL
- 仓库名称
示例:
示例输出:
输出格式:
该命令会将解析后的 PipelineRun YAML 输出到 stdout。你可以:
-
保存到文件:
tkn pac resolve -f .tekton/pipelinerun.yaml > resolved.yaml -
直接查看:
tkn pac resolve -f .tekton/pipelinerun.yaml -
用于验证:在提交前检查变量是否已正确解析
示例输出:
使用场景:
- 在本地测试 pipeline 定义
- 在不创建 commit 的情况下调试 pipeline 问题
- 在提交前验证 pipeline 语法
- 测试参数解析
全局选项
所有 tkn pac 命令都支持以下全局选项:
-h, --help:显示命令帮助-v, --version:显示版本信息--kubeconfig:kubeconfig 文件路径--context:要使用的 Kubernetes context
最佳实践
1. 仓库管理
- 使用有描述性的名称:选择清晰的仓库名称
- 按命名空间组织:将相关仓库分组到命名空间中
- 定期监控:使用
tkn pac list监控仓库状态
2. pipeline 生成
- 审查生成的模板:始终检查并定制生成的 pipeline
- 本地测试:使用
tkn pac resolve在提交前测试 pipeline - 版本控制:将 pipeline 定义提交到 Git
故障排查
找不到命令
如果找不到 tkn pac 命令:
-
验证安装:
示例输出:
-
检查 PATH:确保
tkn-pac在你的 PATH 中 -
重新安装:如有需要,重新安装该插件
连接问题
如果命令无法连接到集群:
- 验证 kubectl:测试 kubectl 连接
- 检查 context:验证 Kubernetes context
- 检查权限:确保你拥有所需权限
下一步
- Configure Repository - 仓库设置指南
- Incoming Webhooks - 通过 webhooks 触发 pipeline
- Manage PAC Component - PAC 组件管理
- Common Issues - 故障排查指南