×

在 OpenShift 容器平台上安装 Pipelines as Code

安装 Red Hat OpenShift Pipelines 运算符时,Pipelines as Code 将安装在openshift-pipelines命名空间中。有关更多详细信息,请参阅“其他资源”部分中的安装 OpenShift Pipelines

要禁用使用运算符默认安装 Pipelines as Code,请在TektonConfig自定义资源中将enable参数的值设置为false

apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
  name: config
spec:
  platforms:
    openshift:
      pipelinesAsCode:
        enable: false
        settings:
          application-name: Pipelines as Code CI
          auto-configure-new-github-repo: "false"
          bitbucket-cloud-check-source-ip: "true"
          hub-catalog-name: tekton
          hub-url: https://api.hub.tekton.dev/v1
          remote-tasks: "true"
          secret-auto-create: "true"
# ...

或者,您可以运行以下命令:

$ oc patch tektonconfig config --type="merge" -p '{"spec": {"platforms": {"openshift":{"pipelinesAsCode": {"enable": false}}}}}'

要使用 Red Hat OpenShift Pipelines 运算符启用 Pipelines as Code 的默认安装,请在TektonConfig自定义资源中将enable参数的值设置为true

apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
  name: config
spec:
  platforms:
    openshift:
      pipelinesAsCode:
        enable: true
        settings:
          application-name: Pipelines as Code CI
          auto-configure-new-github-repo: "false"
          bitbucket-cloud-check-source-ip: "true"
          hub-catalog-name: tekton
          hub-url: https://api.hub.tekton.dev/v1
          remote-tasks: "true"
          secret-auto-create: "true"
# ...

或者,您可以运行以下命令:

$ oc patch tektonconfig config --type="merge" -p '{"spec": {"platforms": {"openshift":{"pipelinesAsCode": {"enable": true}}}}}'

安装 Pipelines as Code CLI

集群管理员可以在本地机器上或作为容器使用tkn pacopc CLI 工具进行测试。安装 Red Hat OpenShift Pipelines 的tkn CLI 时,会自动安装tkn pacopc CLI 工具。

您可以为支持的平台安装tkn pacopc版本1.17.0二进制文件。

自定义 Pipelines as Code 配置

要自定义 Pipelines as Code,集群管理员可以在platforms.openshift.pipelinesAsCode.settings规范中的TektonConfig自定义资源中配置以下参数。

表 1. 自定义 Pipelines as Code 配置
参数 描述 默认值

application-name

应用程序的名称。例如,在 GitHub Checks 标签中显示的名称。

"Pipelines as Code CI"

secret-auto-create

指示是否应使用在 GitHub 应用程序中生成的令牌自动创建密钥。然后,此密钥可用于私有存储库。

启用

remote-tasks

启用后,允许来自管道运行注释的远程任务。

启用

hub-url

Tekton Hub API 的基本 URL。

https://hub.tekton.dev/

hub-catalog-name

Tekton Hub 目录名称。

tekton

tekton-dashboard-url

Tekton Hub 仪表板的 URL。Pipelines as Code 使用此 URL 在 Tekton Hub 仪表板上生成PipelineRun URL。

NA

bitbucket-cloud-check-source-ip

指示是否通过查询公共 Bitbucket 的 IP 范围来保护服务请求。更改参数的默认值可能会导致安全问题。

启用

bitbucket-cloud-additional-source-ip

指示是否提供额外的 IP 范围或网络,这些范围或网络用逗号分隔。

NA

max-keep-run-upper-limit

流水线运行的max-keep-run值的最高限制。

NA

default-max-keep-runs

流水线运行的max-keep-run值的默认限制。如果已定义,则该值将应用于所有没有max-keep-run注释的流水线运行。

NA

auto-configure-new-github-repo

自动配置新的 GitHub 仓库。Pipelines as Code 会设置命名空间并为您的仓库创建自定义资源。此参数仅支持 GitHub 应用。

disabled

auto-configure-repo-namespace-template

如果启用了auto-configure-new-github-repo,则配置一个模板来自动生成新仓库的命名空间。

{repo_name}-pipelines

error-log-snippet

启用或禁用查看流水线中失败任务的日志片段(包含错误)。如果您的流水线存在数据泄露风险,您可以禁用此参数。

true

error-detection-from-container-logs

启用或禁用检查容器日志以检测错误消息并将其作为注释暴露在拉取请求中。此设置仅在您使用 GitHub 应用时适用。

true

error-detection-max-number-of-lines

在容器日志中检查以搜索错误消息的行数上限。设置为-1表示检查无限数量的行。

50

secret-github-app-token-scoped

如果设置为true,则 Pipelines as Code 使用 GitHub 应用生成的 GitHub 访问令牌仅限于 Pipelines as Code 获取流水线定义的仓库。如果设置为false,则您可以使用TektonConfig自定义资源和Repository自定义资源将令牌的范围扩展到其他仓库。

true

secret-github-app-scope-extra-repos

用于限定生成的 GitHub 访问令牌范围的额外仓库。

配置额外的 Pipelines as Code 控制器以支持额外的 GitHub 应用

默认情况下,您可以配置 Pipelines as Code 与一个 GitHub 应用交互。在某些情况下,您可能需要使用多个 GitHub 应用,例如,如果您需要使用不同的 GitHub 帐户或不同的 GitHub 实例(例如 GitHub Enterprise 或 GitHub SaaS)。如果您想使用多个 GitHub 应用,则必须为每个额外的 GitHub 应用配置一个额外的 Pipelines as Code 控制器。

步骤
  1. TektonConfig自定义资源中,将additionalPACControllers部分添加到platforms.openshift.pipelinesAsCode规范中,如下例所示

    additionalPACControllers部分示例
    apiVersion: operator.tekton.dev/v1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      platforms:
        openshift:
          pipelinesAsCode:
            additionalPACControllers:
              pac_controller_2:  (1)
                enable: true    (2)
                secretName: pac_secret_2  (3)
                settings: #  (4)
    # ...
    1 控制器的名称。此名称必须唯一且不超过 25 个字符。
    2 此参数是可选的。将此参数设置为true以启用附加控制器,或设置为false以禁用附加控制器。默认值为true
    3 将此参数设置为必须为 GitHub 应用创建的密钥的名称。
    4 此部分是可选的。在此部分中,如果设置必须与主 Pipelines as Code 控制器不同,您可以为此控制器设置任何 Pipelines as Code 设置。
  2. 可选:如果您想使用两个以上的 GitHub 应用,请在pipelinesAsCode.additionalPACControllers规范下创建其他部分,以便为每个 GitHub 实例配置一个 Pipelines as Code 控制器。为每个控制器使用唯一的名称。