1.3. Red Hat OpenShift Pipelines 正式发布 1.16 发行注记


在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.16 包括在 OpenShift Container Platform 4.15 及更新的版本中。

1.3.1. 新功能

除了包括修复和稳定性改进的信息外,以下小节突出介绍了 Red Hat OpenShift Pipelines 1.16 中的新内容:

1.3.1.1. Pipelines

  • 在这个版本中,您可以为管道控制器配置重新同步周期。对于每个重新同步周期,控制器会协调所有管道运行和任务运行,而不考虑事件。默认重新同步周期为 10 小时。如果您有大量管道运行和任务运行,每 10 小时进行完全协调可能会消耗太多资源。在这种情况下,您可以配置较长的重新同步周期。

    配置重新同步周期为 24 小时的示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        options:
          deployments:
            tekton-pipelines-controller:
              spec:
                template:
                  spec:
                    containers:
                    - name: tekton-pipelines-controller
                      args:
                        - "-resync-period=24h"
    # ...

  • 在这个版本中,在定义管道时,您可以为任务设置 onError 参数,以继续。如果您在执行管道时进行此设置,且任务失败,管道会记录错误并继续下一个任务。默认情况下,如果一个任务失败,管道会失败。

    设置 onError 参数的示例。在 task-that-fails 任务失败 后,下一个任务 执行

    apiVersion: tekton.dev/v1
    kind: Pipeline
    metadata:
      name: example-onerror-pipeline
    spec:
      tasks:
      - name: task-that-fails
        onError: continue
        taskSpec:
          steps:
          - image: alpine
            name: exit-with-1
            script: |
              exit 1
      - name: next-task
    # ...

  • 在这个版本中,如果任务失败,则 finally 任务除 status 参数外还可以访问 reason 参数,以区分是否允许失败。您可以通过 $(tasks. & lt;task_name>.reason)访问 reason 参数。如果允许失败,原因 被设置为 FailureIgnored。如果不允许失败,原因 被设置为 Failed。此附加信息可以用来识别检查失败,但无法找到失败。
  • 在这个版本中,通过 sidecar 日志支持较大的结果作为默认配置的替代选择,这会将结果限制为每个任务运行 4 KB 的大小,每个任务运行限制为 12 KB。要使用 sidecar 日志启用较大的结果,请在 TektonConfig CR 中将 pipeline.options.configMaps.feature-flags.data.results-from spec 设置为 sidecar-logs

    使用 sidecar 日志启用较大的结果的示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        options:
          configMaps:
            feature-flags:
              data:
                results-from: "sidecar-logs"
    # ...

  • 在此次更新之前,PipelineRunTaskRun 资源中允许参数传播,但不能在 Pipeline 资源中。在这个版本中,您可以将 Pipeline 资源中的 params 传播到内联 管道任务 及其内联 步骤。每当引用 PipelineTaskStepAction 等资源的位置,您必须明确传递参数。

    在管道中使用 params 的示例

    apiVersion: tekton.dev/v1 # or tekton.dev/v1beta1
    kind: Pipeline
    metadata:
      name: pipeline-propagated-params
    spec:
      params:
        - name: HELLO
          default: "Hello World!"
        - name: BYE
          default: "Bye World!"
      tasks:
        - name: echo-hello
          taskSpec:
            steps:
              - name: echo
                image: ubuntu
                script: |
                  #!/usr/bin/env bash
                  echo "$(params.HELLO)"
        - name: echo-bye
          taskSpec:
            steps:
              - name: echo-action
                ref:
                  name: step-action-echo
                params:
                  - name: msg
                    value: "$(params.BYE)"
    # ...

  • 在这个版本中,您可以使用任务运行或管道运行定义为任务中的步骤和 sidecar 配置计算资源。

    配置资源的任务示例

    apiVersion: tekton.dev/v1
    kind: Task
    metadata:
      name: side-step
    spec:
      steps:
        - name: test
          image: docker.io//alpine:latest
      sidecars:
        - name: side
          image: docker.io/linuxcontainers/alpine:latest
    # ...

    配置资源的 TaskRun 定义示例

    apiVersion: tekton.dev/v1
    kind: TaskRun
    metadata:
      name: test-sidestep
    spec:
      taskRef:
        name: side-step
      stepSpecs:
        - name: test
          computeResources:
            requests:
              memory: 1Gi
      sidecarSpecs:
        - name: side
          computeResources:
            requests:
              cpu: 100m
            limits:
              cpu: 500m
    # ...

1.3.1.2. Operator

  • 在这个版本中,OpenShift Pipelines 包含克隆 Git 存储库的步骤 git-clone StepAction 定义。使用 HTTP 解析器引用此定义。定义的 URL 是 https://raw.githubusercontent.com/openshift-pipelines/tektoncd-catalog/p/stepactions/stepaction-git-clone/0.4.1/stepaction-git-clone.yamlStepAction 定义也安装在 openshift-pipelines 命名空间中。但是,集群解析器不支持 StepAction 定义。

    在任务中使用 git-clone 步骤操作的示例

    apiVersion: tekton.dev/v1
    kind: Task
    metadata:
      name: clone-repo-anon
    spec:
      params:
      - name: url
        description: The URL of the Git repository to clone
      workspaces:
      - name: output
        description: The git repo will be cloned onto the volume backing this Workspace.
      steps:
      - name: clone-repo-anon-step
        ref:
          resolver: http
          params:
          - name: url
            value: https://raw.githubusercontent.com/openshift-pipelines/tektoncd-catalog/p/stepactions/stepaction-git-clone/0.4.1/stepaction-git-clone.yaml
        params:
        - name: URL
          value: $(params.url)
        - name: OUTPUT_PATH
          value: $(workspaces.output.path)
    # ...

  • 在这个版本中,openshift-pipelines 命名空间包括版本化任务以及标准任务。例如,有一个 buildah 标准任务和 buildah-1-16-0 版本化任务。虽然标准任务可能会在后续版本中更新,但 versioned 任务与在指定版本中的相同,但更正错误除外。
  • 在这个版本中,您可以使用 TektonConfig CR 为 OpenShift Pipelines 的几个组件配置 FailurePolicy,TimeoutSeconds, 和 SideEffects 选项。以下示例显示了 管道 组件的配置。您可以在 触发器pipelinesAsCodehub 组件中为 Webhook 使用类似的配置。

    Pipeline 组件的 Webhook 选项配置示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        options:
          webhookConfigurationOptions:
            validation.webhook.pipeline.tekton.dev:
              failurePolicy: Fail
              timeoutSeconds: 20
              sideEffects: None
            webhook.pipeline.tekton.dev:
              failurePolicy: Fail
              timeoutSeconds: 20
              sideEffects: None
    # ...

1.3.1.3. 触发器

  • 在这个版本中,触发器控制器、webhook、Core Interceptor 和事件监听器的 readOnlyRootFilesystem 参数默认设置为 true,以提高安全性并避免安全扫描程序标记。
  • 在这个版本中,您可以将 OpenShift Pipelines 触发器配置为作为容器内的非 root 用户运行事件监听程序。要设置这个选项,请在 TektonConfig CR 中设置参数,如下例所示:

    将触发器事件监听程序配置为以非 root 身份运行的示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      trigger:
        options:
          disabled: false
          configMaps:
            config-defaults-triggers:
              data:
                default-run-as-non-root: "true"
                default-run-as-user: "65532"
                default-run-as-group: "65532"
                default-fs-group: "65532"
    # ...

    另外,您可以设置 default-run-as-userdefault-run-as-group 参数的值,以配置在容器中运行事件监听程序的数字用户 ID 和组 ID。OpenShift Pipelines 在 pod 安全上下文和事件监听器的容器安全上下文中设置这些值。如果您使用空值,则使用默认用户 ID 和组 ID 65532

    您还可以设置 default-fs-group 参数,以定义 pod 安全上下文的 fsGroup 值,这是容器进程用于文件系统的组 ID。如果您使用空值,则使用默认组 ID 65532

  • 在这个版本中,在触发器中,EventListener pod 模板现在包含 securityContext 设置。在这些设置中,您可以在 el-security-context 标志设为 true 时配置 seccompProfilerunAsUserrunAsGroupfsGroup 参数。

1.3.1.4. Web 控制台

  • 在此版本之前,在使用 Web 控制台时,您无法看到 OpenShift Pipelines 创建的日志的时间戳。在这个版本中,web 控制台包括所有 OpenShift Pipelines 日志的时间戳。
  • 在这个版本中,Web 控制台中的管道运行和任务运行 列表页面 现在具有数据源的过滤器,如 k8sTektonResults API
  • 在此次更新之前,当在 Developer 视角中使用 Web 控制台时,您无法为管道运行指定超时。在这个版本中,您可以在 web 控制台的 Developer 视角中启动管道运行时设置超时。
  • 在此次更新之前,Overview 管道仪表板仅在启用 Tekton Results 时才会出现。所有统计数据仅来自 Results API。在这个版本中,无论是否启用 Tekton 结果,Overview 管道仪表板都可用。当禁用 Tekton Results 时,您可以使用仪表板查看集群中对象的统计信息。
  • 在这个版本中,Web 控制台中显示的示例管道使用 OpenShift Pipelines API 的 v1 版本。

1.3.1.5. CLI

  • 在这个版本中,您可以使用 tkn customrun delete <custom_run_names& gt; 命令删除一个或多个自定义运行。
  • 在这个版本中,当您使用 -o YAML 标记运行 tkn <resource> list 命令时,列出的资源现在用 --- 分隔符分开,以增强输出的可读性。

1.3.1.6. Pipelines 作为代码(Pipelines as Code)

  • 在这个版本中,如果您创建名称相同的两个 PipelineRun 定义,Pipelines as Code 会记录错误,且不会运行其中任何一个管道运行。
  • 在这个版本中,Pipelines 作为代码 pipelines_as_code_pipelinerun_count 指标允许根据存储库或命名空间过滤 PipelineRun 计数。
  • 在这个版本中,Pipelines 作为代码控制器、webhook 和 watcher 的 readOnlyRootFilesystem 安全上下文默认设置为 true,以提高安全性并避免安全扫描程序标记。

1.3.1.7. Tekton Chains

  • 在这个版本中,当在 Tekton Chains 中使用 docdb 存储时,您可以在 TektonConfig CR 中直接配置 MONGO_SERVER_URL 值作为 storage.docdb.mongo-server-url 设置。或者,您可以使用 secret 提供这个值,并将 storage.docdb.mongo-server-url-dir 设置设置为 MONGO_SERVER_URL 文件所在的目录。

    使用 MONGO_SERVER_URL 值创建 secret 的示例

    $ oc create secret generic mongo-url -n tekton-chains \ #
      --from-file=MONGO_SERVER_URL=/home/user/MONGO_SERVER_URL

    使用 secret 配置 MONGO_SERVER_URL 值的示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      chain:
        disabled: false
        storage.docdb.mongo-server-url-dir: /tmp/mongo-url
        options:
          deployments:
            tekton-chains-controller:
              spec:
                template:
                  spec:
                    containers:
                    - name: tekton-chains-controller
                      volumeMounts:
                      - mountPath: /tmp/mongo-url
                        name: mongo-url
                    volumes:
                    -  name: mongo-url
                       secret:
                        secretName: mongo-url
    # ...

  • 在这个版本中,当在 Tekton Chains 中使用 KMS 签名时,而不是直接在配置中提供 KMS 身份验证令牌值,您可以使用 signers.kms.auth.token-path 设置将令牌值作为 secret 提供。

    运行以下命令来创建 KMS 令牌 secret:

    $ oc create secret generic <secret_name> -n tekton-chains \
      --from-file=KMS_AUTH_TOKEN=/home/user/KMS_AUTH_TOKEN 1
    1
    <secret_name& gt; 替换为任何名称。以下示例使用名为 kms-secrets 的 KMS secret。

    使用名为 kms-secrets的 secret 配置 KMS 令牌值示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      chain:
        disabled: false
        signers.kms.auth.token-path: /etc/kms-secrets/KMS_AUTH_TOKEN
        options:
          deployments:
            tekton-chains-controller:
              spec:
                template:
                  spec:
                    containers:
                    - name: tekton-chains-controller
                      volumeMounts:
                      - mountPath: /etc/kms-secrets
                        name: kms-secrets
                    volumes:
                    -  name: kms-secrets
                       secret:
                        secretName: kms-secrets
    # ...

  • 在这个版本中,您可以将命名空间列表配置为 Tekton Chains 控制器的参数。如果您提供此列表,Tekton Chains 会监视管道运行和任务仅在指定的命名空间中运行。如果没有提供此列表,Tekton Chains 会监视管道运行和任务在所有命名空间中运行。

    仅监视 devtest 命名空间的示例配置

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      chain:
        disabled: false
        options:
          deployments:
            tekton-chains-controller:
              spec:
                template:
                  spec:
                    containers:
                    - args:
                      - --namespace=dev, test
                      name: tekton-chains-controller
    # ...

1.3.1.8. Tekton Results

  • 在此次更新之前,Tekton Results 使用 v1beta1 API 格式来存储 TaskRunPipelineRun 对象记录。在这个版本中,Tekton Results 使用 v1 API 格式来存储 TaskRunPipelineRun 对象记录。
  • 在这个版本中,Tekton Results 可以自动将现有记录转换为 v1 API 格式。要启用这样的转换,请在 TektonResult CR 中设置参数,如下例所示:

    配置 Tekton Results 将现有记录转换为 v1 API 格式的示例

      apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonResult
    metadata:
      name: result
    spec:
      options:
        deployments:
          tekton-results-api:
            spec:
              template:
                spec:
                  containers:
                    - name: api
                      env:
                        - name: CONVERTER_ENABLE
                          value: "true"
                        - name: CONVERTER_DB_LIMIT
                          value: "256" 1
    # ...

    1
    CONVERTER_DB_LIMIT 变量中,设置单个事务中同时转换的记录数。
  • 在这个版本中,Tekton Results 现在支持从第三方日志记录 API 获取转发日志。您可以通过将 logs_api 设置为 true,并将 logs_type 设置为 Loki 来启用日志 API。
  • 在这个版本中,您可以配置 Tekton Results 数据库的自动修剪。您可以指定必须存储记录的天数。您还可以指定运行删除旧记录的修剪器作业的调度。要设置这些参数,请编辑 TektonResult CR,如下例所示:

    配置 Tekton Results 数据库的自动修剪示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonResult
    metadata:
      name: result
    spec:
      options:
        configMaps:
          config-results-retention-policy:
            data:
              runAt: "3 5 * * 0" 1
              maxRetention: "30" 2
    # ...

    1
    以 cron 格式指定在数据库中运行修剪作业时。这个示例在每天的下午 5:03 AM 运行作业。
    2
    指定要在数据库中保存数据的天数。这个示例保留 30 天的数据。
  • 在这个版本中,您可以配置 Tekton Results 来为管道和任务存储事件日志。要启用事件日志的存储,请编辑 TektonResult CR,如下例所示:

    配置 Tekton Results 数据库的自动修剪示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonResult
    metadata:
      name: result
    spec:
      options:
         deployments:
            tekton-results-watcher:
              spec:
                template:
                  spec:
                    containers:
                      - name: watcher
                        args:
                          - "--store_event=true"
    # ...

  • 在这个版本中,您可以将 Tekton Results 配置为使用 OpenShift Container Platform Cluster Log Forwarder 将所有日志数据存储在 LokiStack 实例中,而不是直接将其放在存储卷中。这个选项支持扩展到管道运行和任务运行的更高的速率。

    要将 Tekton Results 配置为使用 OpenShift Container Platform Cluster Log Forwarder 将所有日志数据存储在 LokiStack 实例中,您必须使用 Loki Operator 在集群中部署 LokiStack,同时安装 OpenShift Logging Operator。然后,您必须使用以下 YAML 清单之一在 openshift-logging 命名空间中创建 ClusterLogForwarder CR:

    如果安装了 OpenShift Logging 版本 6,ClusterLogForwarder CR 的 YAML 清单

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: collector
      namespace: openshift-logging
    spec:
      inputs:
      - application:
          selector:
            matchLabels:
              app.kubernetes.io/managed-by: tekton-pipelines
        name: only-tekton
        type: application
      managementState: Managed
      outputs:
      - lokiStack:
          labelKeys:
            application:
              ignoreGlobal: true
              labelKeys:
              - log_type
              - kubernetes.namespace_name
              - openshift_cluster_id
          authentication:
            token:
              from: serviceAccount
          target:
            name: logging-loki
            namespace: openshift-logging
        name: default-lokistack
        tls:
          ca:
            configMapName: openshift-service-ca.crt
            key: service-ca.crt
        type: lokiStack
      pipelines:
      - inputRefs:
        - only-tekton
        name: default-logstore
        outputRefs:
        - default-lokistack
      serviceAccount:
        name: collector
    # ...

    如果安装了 OpenShift Logging 版本 5,ClusterLogForwarder CR 的 YAML 清单

    apiVersion: "logging.openshift.io/v1"
    kind: ClusterLogForwarder
    metadata:
      name: instance
      namespace: openshift-logging
    spec:
      inputs:
      - name: only-tekton
        application:
          selector:
            matchLabels:
              app.kubernetes.io/managed-by: tekton-pipelines
      pipelines:
        - name: enable-default-log-store
          inputRefs: [ only-tekton ]
          outputRefs: [ default ]
    # ...

    最后,在 openshift-pipelines 命名空间中的 TektonResult CR 中,设置以下附加参数:

    • loki_stack_nameLokiStack CR 的名称,通常为 logging-loki
    • loki_stack_namespace :部署 LokiStack 的命名空间的名称,通常为 openshift-logging

    TektonResult CR 中配置 LokiStack 日志转发示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonResult
    metadata:
      name: result
    spec:
      targetNamespace: tekton-pipelines
    # ...
      loki_stack_name: logging-loki
      loki_stack_namespace: openshift-logging
    # ...

1.3.2. 可能会造成问题的更改

  • 在这个版本中,EventListener 对象的指标名称用于管道触发器,统计收到的事件从 eventlistener_event_received_count 改为 eventlistener_event_received_count

1.3.3. 已知问题

  • 如果您使用 OpenShift Container Platform 版本 4.16 及更新的版本,jib-maven ClusterTask 无法正常工作。

1.3.4. 修复的问题

  • 在此次更新之前,当您通过删除 TektonHub CR 卸载 Tekton Hub 时,hub-db-migration 作业的 pod 不会被删除。在这个版本中,卸载 Tekton Hub 会删除 pod。
  • 在此次更新之前,当您使用 Tekton Results 从管道和任务存储 pod 日志时,存储日志的操作有时会失败。日志会包括 UpdateLog 操作失败,并显示 取消的上下文 错误。在这个版本中,操作可以正确完成。
  • 在此次更新之前,当您将参数值传递给管道或任务,并且值包含完整和简短参考格式的多个变量时,例如 $(tasks.task-name.results.variable1)+ $(variable2),OpenShift Pipelines 没有正确解释值。管道运行或任务运行可能会停止执行,Pipelines 控制器可能会崩溃。在这个版本中,OpenShift Pipelines 会正确解释值,管道运行或任务运行完成。
  • 在此次更新之前,当任务运行包含相同名称的多个任务时,Tekton Chains 无法生成正确的 attestations。例如,在使用一组任务时,为第一个镜像生成了 attestation。在这个版本中,Tekton Chains 为任务运行中的所有任务生成 attestations,确保完成覆盖。
  • 在此次更新之前,当您使用 OpenShift Pipelines 安装命名空间中定义的 skopeo-copy 任务并将其 VERBOSE 参数设置为 false 时,任务会失败。在这个版本中,该任务会正常完成。
  • 在此次更新之前,当使用 Pipelines as Code 时,如果您在 openshift-pipelinespipelines-as-code 命名空间中名为 pipelines-as-code 的全局 Repository CR 中设置 concurrency_limit spec,它会为所有 Repository CR 提供默认设置,Pipelines as Code watcher 会崩溃。在这个版本中,Pipelines as Code watcher 使用这个设置可以正常工作。
  • 在此次更新之前,与 OpenShift Pipelines 版本中的相同名称的集群任务相比,OpenShift Pipelines 中的所有任务都包含一个额外的步骤。此额外步骤会增加集群的负载。在这个版本中,任务不再包含额外的步骤,因为它集成到第一步中。
  • 在此次更新之前,当您使用 OpenShift Pipelines 安装命名空间中定义的 s2i netobserv 任务并设置其 CONTEXT 参数时,任务无法正确解释该参数,任务会失败。在这个版本中,任务会正确解释 CONTEXT 参数,并成功完成。
  • 在此次更新之前,在 Tekton 中,在 Tekton Chains the in-toto provenance metadata, URIDigest 值不完整。这些值仅包含远程 PipelineTask 资源的信息,但缺少了远程 StepAction 资源的信息。在这个版本中,远程 StepAction 资源被记录在任务运行状态中,并插入到验证的验证中,这会导致完全被验证的元数据。
  • 在此次更新之前,您可以修改 PipelineRunTaskRun 资源的 spec 字段中的一些参数,在资源被创建后不应该修改。在这个版本中,您只能在创建管道运行和任务运行后修改允许的字段,如 statusstatusMessage 字段。
  • 在此次更新之前,如果 step action 参数是 数组类型,但任务中传递了字符串值,则不会显示不一致的参数类型和使用默认值。在这个版本中,添加了一个错误来指示不一致的值: invalid parameter replacement: %s。请检查默认值的类型以及传递的值
  • 在此次更新之前,当日志通过 watcher 流时,外部修剪器会删除任务运行和管道运行。在这个版本中,finalizer 会添加到 TaskRunPipelineRun 对象的 Tekton Results 中,以确保存储并运行不会被删除。运行可以存储为记录,或是截止时间已通过,该截止时间计算为完成时间加上 store_deadline 时间。如果启用了来自 watcher 或 pruner 的传统日志流,则终结器不会阻止删除。
  • 在此次更新之前,web 控制台支持 v1beta1 API 格式来显示存储在 Tekton Results 中的 TaskRunPipelineRun 对象记录。在这个版本中,控制台支持 v1 API 格式来显示 Tekton Results 中存储的 TaskRunPipelineRun 对象记录。
  • 在此次更新之前,当使用 Pipelines as Code 时,如果不同的 PipelineRun 定义使用相同的任务名称,但不同版本不同,例如从 Tekton Hub 获取任务时,有时会触发错误版本,因为 Pipelines as Code 为所有管道运行使用相同的任务版本。在这个版本中,Pipelines as Code 会触发引用任务的正确版本。
  • 在此次更新之前,当您使用解析器引用远程管道或任务时,临时通信错误会导致立即获取这些远程引用失败。在这个版本中,解析器会重新排队检索,并最终重试检索。
  • 在此次更新之前,Tekton Results 在存储管道运行和任务运行的日志信息时,可以使用增加的内存量。在这个版本中,内存泄漏,Tekton Results 使用正常内存量。
  • 在此次更新之前,当使用 Pipelines as Code 时,如果您的 .tekton 目录包含未被事件触发的 PipelineRun 定义引用的管道,Pipelines as Code 会尝试获取该管道的所有任务,即使它没有运行。在这个版本中,Pipelines as Code 不会尝试解析当前事件触发的任何管道运行中没有引用的管道。

1.3.5. Red Hat OpenShift Pipelines 正式发布 1.16.1 发行注记

在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.16.1 包括在 OpenShift Container Platform 4.15 及更新的版本中。

1.3.5.1. 修复的问题

  • 在此次更新之前,在 web 控制台的 Pipelines 概述 页面中,无法访问所有命名空间的用户可以在 Projects 列表中选择 All。控制台显示该选择的错误信息,因为一些命名空间的统计信息对用户不可用。在这个版本中,无法访问所有命名空间的用户无法在 Projects 列表中选择 All
  • 在此次更新之前,当尝试使用 web 控制台启动定义 type 数组 参数的管道或任务时,为此参数输入一个值会导致错误,您无法启动管道或任务。在这个版本中,您可以使用 Web 控制台启动管道或任务来定义 type 数组 的参数,并为此参数输入一个值可以正常工作。
  • 在此次更新之前,当使用带有 Bitbucket Git 存储库的 Pipelines as Code 时,Pipelines as Code 控制器有时会崩溃并出现 panic: runtime 错误: invalid memory address 或 nil pointer dereference 信息。在这个版本中,Pipelines as Code 控制器不会崩溃。
  • 在此次更新之前,在使用 Tekton Results 时,tekton-results-watcher pod 有时会崩溃,并会记录 panic: runtime error: invalid memory address 或 nil pointer dereference 信息。在这个版本中,tekton-results-watcher pod 不会崩溃。
  • 在此次更新之前,当使用 Tekton Results 时,如果您在 Tekton Results 中启用了身份验证,则无法在 web 控制台中查看 Tekton Results 的信息,因为 web 控制台无法将身份验证令牌传递给 Tekton Results API。在这个版本中,您可以在启用身份验证时查看 web 控制台中的 Tekton Results 的信息。
  • 在此次更新之前,当在 web 控制台中查看 Tekton Results 的信息时,如果您向下滚动到页面的末尾,控制台无法获取下一个记录集合,且没有显示一些信息。在这个版本中,如果您滚动到页面的末尾,来自 Tekton Results 负载的记录会被正确显示,所有信息都会在 web 控制台中正确显示。

1.3.6. Red Hat OpenShift Pipelines 正式发布 1.16.2 发行注记

在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.16.2 包括在 OpenShift Container Platform 4.15 及更新的版本中。

1.3.6.1. 修复的问题

  • 在此次更新之前,在 OpenShift Pipelines 1.16 中,您无法通过修补 PipelineRun 对象来取消管道运行,并将 spec.status 参数设置为 Cancelled (如果管道运行中运行的第一个任务完成)。相反,会记录错误消息: PipelineRun was canceled,但会尝试取消 TaskRuns 和/或 Runs 的错误。在这个版本中,管道运行被成功取消。

1.3.7. Red Hat OpenShift Pipelines 正式发布 1.16.3 发行注记

在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.16.3 包括在 OpenShift Container Platform 4.15 及更新的版本中。

1.3.7.1. 修复的问题

  • 在此次更新之前,在某些情况下,Tekton Chains 控制器会重复崩溃,使 Tekton Chains 组件不可用。在这个版本中,控制器不再崩溃。
  • 在此次更新之前,如果您定义了包含常规参数和列表参数的 matrix 任务,tekton-pipelines-controller 组件会崩溃并记录分段错误消息。如果没有删除该任务,则组件将继续崩溃,且不会运行任何管道。在这个版本中,控制器不会在这样的情形中崩溃。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.