$ tkn pac [command or options] [arguments]
您可以使用tkn pac
CLI 工具来控制流水线即代码。您还可以使用TektonConfig
自定义资源配置流水线即代码日志记录,并使用oc
命令查看流水线即代码日志。
tkn pac
CLI 工具提供以下功能:
引导流水线即代码的安装和配置。
创建一个新的流水线即代码仓库。
列出所有流水线即代码仓库。
描述流水线即代码仓库和相关的运行。
生成一个简单的流水线运行以开始使用。
解析流水线运行,就好像它是流水线即代码执行的一样。
您可以使用与这些功能对应的命令进行测试和实验,这样您就不必更改包含应用程序源代码的 Git 仓库。 |
命令 | 描述 |
---|---|
|
为 Git 仓库托管服务提供商(如 GitHub 和 GitHub Enterprise)安装和配置流水线即代码。 |
|
安装流水线即代码的夜间构建版本。 |
|
覆盖 OpenShift 路由 URL。 默认情况下, 如果您没有 OpenShift Container Platform 集群,它会提示您输入指向入口端点的公共 URL。 |
|
在 |
命令 | 描述 |
---|---|
|
根据流水线运行模板创建一个新的流水线即代码仓库和命名空间。 |
|
列出所有流水线即代码仓库并显示关联运行的最后状态。 |
|
描述流水线即代码仓库和相关的运行。 |
命令 | 描述 |
---|---|
|
生成一个简单的流水线运行。 从包含源代码的目录执行时,它会自动检测当前 Git 信息。 此外,它使用基本语言检测功能并根据语言添加额外任务。 例如,如果它在仓库根目录检测到 |
命令 | 描述 |
---|---|
|
执行流水线运行,就好像它由服务上的流水线即代码拥有。 |
|
显示使用 结合在本地机器上运行的 Kubernetes 安装,您可以观察流水线运行,而无需生成新的提交。 如果您从源代码仓库运行该命令,它会尝试检测当前 Git 信息并自动解析参数,例如当前版本或分支。 |
|
通过覆盖从 Git 仓库派生的默认参数值来执行流水线运行。
您可以使用 |
您可以通过编辑TektonConfig
自定义资源 (CR) 中的pac-config-logging
配置映射来配置 Pipelines as Code 日志。
您已在集群上安装了 Pipelines as Code。
在 Web 控制台的**管理员**视角中,转到**管理** → **自定义资源定义**。
使用**按名称搜索**字段搜索tektonconfigs.operator.tekton.dev
自定义资源定义 (CRD),然后单击**TektonConfig**以查看 CRD 的**详细信息**页面。
单击**实例**选项卡。
单击**config**实例以查看TektonConfig
CR 的详细信息。
单击**YAML**选项卡。
根据您的需求编辑.options.configMaps.pac-config-logging.data
参数下的loglevel.
字段。
warn
的示例TektonConfig
CRapiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
platforms:
openshift:
pipelinesAsCode:
options:
configMaps:
pac-config-logging:
data:
loglevel.pac-watcher: warn (1)
loglevel.pipelines-as-code-webhook: warn (2)
loglevel.pipelinesascode: warn (3)
zap-logger-config: |
{
"level": "info",
"development": false,
"sampling": {
"initial": 100,
"thereafter": 100
},
"outputPaths": ["stdout"],
"errorOutputPaths": ["stderr"],
"encoding": "json",
"encoderConfig": {
"timeKey": "ts",
"levelKey": "level",
"nameKey": "logger",
"callerKey": "caller",
"messageKey": "msg",
"stacktraceKey": "stacktrace",
"lineEnding": "",
"levelEncoder": "",
"timeEncoder": "iso8601",
"durationEncoder": "",
"callerEncoder": ""
}
}
1 | pipelines-as-code-watcher 组件的日志级别。 |
2 | pipelines-as-code-webhook 组件的日志级别。 |
3 | pipelines-as-code-controller 组件的日志级别。 |
可选:通过更改.options.deployments
字段下每个组件的.env.value
来为 Pipelines as Code 组件创建自定义日志配置映射。以下示例显示了使用名为custom-pac-config-logging
的自定义配置映射的配置。
TektonConfig
CRapiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
platforms:
openshift:
pipelinesAsCode:
enable: true
options:
configMaps:
custom-pac-config-logging:
data:
loglevel.pac-watcher: warn
loglevel.pipelines-as-code-webhook: warn
loglevel.pipelinesascode: warn
zap-logger-config: |
{
"level": "info",
"development": false,
"sampling": {
"initial": 100,
"thereafter": 100
},
"outputPaths": ["stdout"],
"errorOutputPaths": ["stderr"],
"encoding": "json",
"encoderConfig": {
"timeKey": "ts",
"levelKey": "level",
"nameKey": "logger",
"callerKey": "caller",
"messageKey": "msg",
"stacktraceKey": "stacktrace",
"lineEnding": "",
"levelEncoder": "",
"timeEncoder": "iso8601",
"durationEncoder": "",
"callerEncoder": ""
}
}
deployments:
pipelines-as-code-controller:
spec:
template:
spec:
containers:
- name: pac-controller
env:
- name: CONFIG_LOGGING_NAME
value: custom-pac-config-logging
pipelines-as-code-watcher:
spec:
template:
spec:
containers:
- name: pac-watcher
env:
- name: CONFIG_LOGGING_NAME
value: custom-pac-config-logging
pipelines-as-code-webhook:
spec:
template:
spec:
containers:
- name: pac-webhook
env:
- name: CONFIG_LOGGING_NAME
value: custom-pac-config-logging
Pipelines as Code 日志包含命名空间信息,以便可以按特定命名空间过滤日志或拆分日志。例如,要查看与mynamespace
命名空间相关的 Pipelines as Code 日志,请输入以下命令
$ oc logs pipelines-as-code-controller-<unique-id> -n openshift-pipelines | grep mynamespace (1)
1 | 将pipelines-as-code-controller-<unique-id> 替换为 Pipelines as Code 控制器名称。 |