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


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

1.3.1. 新功能

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

1.3.1.1. Pipelines

  • 在这个版本中,当使用 stepRef: 部分合并另一个自定义资源(CR)中的步骤时,您可以使用与在 taskRef:pipelineRef: 部分中使用参数相同的方式。

    用法示例

    apiVersion: tekton.dev/v1
    kind: Task
    metadata:
      name: test-task
    spec:
      steps:
      - name: fetch-repository
        stepRef:
          resolver: git
          params:
          - name: url
            value: https://github.com/tektoncd/catalog.git
          - name: revision
            value: main
          - name: pathInRepo
            value: stepaction/git-clone/0.1/git-clone
        params:
        - name: url
          value: $(params.repo-url)
        - name: revision
          value: $(params.tag-name)
        - name: output-path
          value: $(workspaces.output.path)

  • 在此次更新之前,当使用解析器包含来自远程源的任务或管道时,如果其中一个参数预期需要明确指定参数类型的数组。在这个版本中,当使用解析器包含远程源中的任务或管道时,您不必设置任何参数的类型。
  • 在这个版本中,当在管道运行或任务运行中指定工作区时,您可以使用 secretconfigMapprojected.sources 部分中的规格中的参数和其他变量。

    用法示例

    apiVersion: tekton.dev/v1
    kind: Task
    metadata:
      generateName: something-
    spec:
      params:
      - name: myWorkspaceSecret
      steps:
      - image: registry.redhat.io/ubi/ubi8-minimal:latest
        script: |
          echo “Hello World”
      workspaces:
      - name: myworkspace
        secret:
          secretName: $(params.myWorkspaceSecret)

  • 默认情况下,当 OpenShift Pipelines 无法拉取执行任务所需的容器镜像时,任务会失败。在这个版本中,您可以配置镜像拉取 backoff 超时。如果配置此超时,当 OpenShift Pipelines 无法拉取执行任务所需的容器镜像时,它会继续尝试为指定时间段拉取镜像。如果 OpenShift Pipelines 无法在指定周期内拉取镜像,则任务会失败。

    规格示例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        options:
          configMaps:
              config-defaults:
                  data:
                       default-imagepullbackoff-timeout: "5m"

  • 在这个版本中,已完成的管道运行或任务运行的 YAML 清单在 childReferences 部分中包含一个 displayName 字段。此字段包含管道运行或任务运行的显示名称,其可能与管道运行或任务运行的完整名称不同。
  • 在这个版本中,已完成的 TaskRun CR 中每个步骤的 YAML 清单包括一个新的 terminationReason 字段。此字段包含步骤执行结束的原因。OpenShift Pipelines 为 terminationReason 字段使用以下值:

    • 完成: 步骤成功完成,步骤中调用的任何命令都以退出代码 0。
    • 持续: 执行步骤时出现错误,例如命令返回非零退出代码,但步骤继续执行,因为 onError 值设置为 continue。有关错误的详情,请查看日志输出。
    • 错误 :执行步骤时出现错误,例如命令返回非零退出代码,且这个错误会导致步骤失败。有关错误的详情,请查看日志输出。
    • TimeoutExceeded :步骤的执行超时。有关超时的详情,请查看日志输出。
    • 跳过 :步骤被跳过,因为上一步失败。
    • TaskRunCancelled: 任务运行被取消。
  • 在这个版本中,您可以使用 TektonConfig CR 中的 pipeline.disable-inline-spec spec 来禁用 PipelineRun CR 中指定的管道和任务,在 Pipeline CR 中指定任务,或者在 TaskRun CR 中指定任务。如果使用这个选项,则必须使用 pipelineRef: 规格引用管道,并使用 taskRef: 规格引用任务。
  • 在这个版本中,OpenShift Pipelines 的 Prometheus 监控的一些指标被重命名为确保符合 Prometheus 命名规则。量表和计数器指标名称不再以 计数 结尾。

1.3.1.2. Operator

  • 在这个版本中,在 resolverTasks 附加组件的 openshift-pipelines 命名空间中增加了几个任务。您可以使用集群解析器将这些任务合并到管道中。大多数任务以前作为集群任务(ClusterTask 资源)提供。您可以使用集群解析器访问以下任务:

    • buildah
    • git-cli
    • git-clone
    • kn
    • kn-apply
    • maven
    • openshift-client
    • s2i-dotnet
    • s2i-go
    • s2i-java
    • s2i-nodejs
    • s2i-perl
    • s2i-php
    • s2i-python
    • s2i-ruby
    • skopeo-copy
    • tkn
  • 在这个版本中,您可以在 TektonConfig CR 中设置 pruner.startingDeadlineSeconds spec。如果因为任何原因删除与管道运行关联的旧资源的修剪器作业,并且不会因为任何原因在调度时启动任务,则此设置配置最大时间(以秒为单位),以秒为单位。如果作业没有在指定时间内启动,OpenShift Pipelines 会考虑这个作业失败,并在下一次调度的时间启动修剪器。
  • 在这个版本中,您可以使用 TektonConfig CR 中的 targetNamespaceMetadata spec 为 Operator 安装 OpenShift Pipelines 的 openshift-pipelines 命名空间设置标签和注解。
  • 在这个版本中,OpenShift Pipelines Operator 的错误消息包括额外的上下文信息,如命名空间。

1.3.1.3. 触发器

  • 在这个版本中,您可以使用 TriggerTemplate CR 为任何类型的资源指定模板。调用触发器时,OpenShift Pipelines 会创建您在触发器的 TriggerTemplate CR 中定义的资源。在以下示例中,在调用触发器时会创建一个 ConfigMap 资源:

    TriggerTemplate CR 示例

    apiVersion: triggers.tekton.dev/v1beta1
    kind: TriggerTemplate
    metadata:
      name: create-configmap-template
    spec:
      params:
        - name: action
      resourcetemplates:
        - apiVersion: v1
          kind: ConfigMap
          metadata:
            generateName: sample-
          data:
            field: "Action is : $(tt.params.action)"

  • 在这个版本中,您可以在 EventListener CR 中将 ServiceType 定义为 NodePort,并为事件监听程序定义端口号,如下例所示:

    定义端口号的 EventListener CR 示例

    apiVersion: triggers.tekton.dev/v1beta1
    kind: EventListener
    metadata:
      name: simple-eventlistener
    spec:
      serviceAccountName:  simple-tekton-robot
      triggers:
        - name: simple-trigger
          bindings:
          - ref: simple-binding
          template:
            ref: simple-template
      resources:
        kubernetesResource:
          serviceType: NodePort
          servicePort: 38080

  • 在这个版本中,如果您在 EventListener CR 中使用 serviceTypeLoadBalancer,您可以选择在 serviceLoadBalancerClass 字段中指定负载均衡器类。如果您的集群提供多个负载均衡器控制器,您可以使用负载均衡器类来选择这些控制器之一。有关设置负载均衡器类的更多信息,请参阅 Kubernetes 文档

    指定 LoadBalancerClass 设置示例

    apiVersion: triggers.tekton.dev/v1beta1
    kind: EventListener
    metadata:
      name: listener-loadbalancerclass
    spec:
      serviceAccountName: tekton-triggers-example-sa
      triggers:
        - name: example-trig
          bindings:
            - ref: pipeline-binding
            - ref: message-binding
          template:
            ref: pipeline-template
      resources:
        kubernetesResource:
          serviceType: LoadBalancer
          serviceLoadBalancerClass: private

1.3.1.4. 手动批准

在这个版本中,OpenShift Pipelines 包括新的 Manual Approval Gate 功能。

Manual Approval Gate 是一个自定义资源定义(CRD)控制器。您可以使用此控制器在管道中添加手动批准点,以便管道在该点停止并等待手动批准,然后再继续执行。要使用此功能,请在管道中指定一个 ApprovalTask,其方式与指定 任务 类似。用户可以使用 Web 控制台或使用 opc 命令行工具提供批准。

Manual Approval Gate 控制器包括以下功能:

  • 您必须在 ApprovalTask 规格中设置以下参数:

    • approvers :可以批准或拒绝 approvalTask 以取消阻塞管道的用户
    • numberOfApprovalsRequired: 取消阻止管道所需的批准数量
    • 描述 :(可选)OpenShift Pipelines 向用户显示的 approvalTask 的 Description
  • 手动批准批准支持多个用户的批准:

    • 批准需要配置的用户的最小批准数。在达到这个数字前,批准任务不会完成,其 approvalState 值仍为 pending
    • 如果有任何批准人拒绝批准,则 ApprovalTask 控制器会将任务的 approvalState 更改为 rejected,管道运行失败。
    • 如果一个用户批准了该任务,但配置的批准数量仍未达到,则同一用户可以更改为拒绝任务,管道运行会失败。
  • 用户可以使用 opc approvaltask CLI 和 OpenShift Web 控制台提供批准。在 OpenShift Web 控制台中批准需要安装 OpenShift Pipelines web 控制台插件。此插件需要 OpenShift Container Platform 版本 4.15 或更高版本。
  • 用户可以在批准或拒绝 approvalTask 时添加消息。
  • 您可以在 approvalTask 规格中添加 timeout 设置。如果在此时间段内没有提供所需的批准数量,管道运行会失败。
重要

手动批准是技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

1.3.1.5. CLI

  • 在这个版本中,tkn 命令行工具支持 pipeline showlog 命令的 -E or --exit-with-pipelinerun-error 选项。使用此选项时,如果管道运行成功完成,则命令行实用程序会返回一个错误代码 0, 如果管道运行以错误结尾,则为 2,如果管道运行的状态为 unknown,则为 2。
  • 在这个版本中,tkn 命令行工具支持 bundle push 命令的- label 选项。使用这个选项,您可以以 < label-name>=<value > 格式提供标签值;实用程序会将标签添加到它所创建的 OCI 镜像。您可以多次使用这个选项为同一镜像提供多个标签。

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

  • 在这个版本中,当使用 Pipelines as Code 时,您可以在管道运行上设置 pipelinesascode.tekton.dev/on-comment 注解,以便在开发人员向拉取请求添加匹配注释时启动管道运行。此设置只支持拉取请求,仅适用于 GitHub 和 GitLab 存储库提供程序。
重要

将注释事件与管道运行匹配只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

  • 在这个版本中,当使用 Pipelines as Code 时,您可以在拉取请求中输入 /test <pipeline_run_name > 注释,以启动存储库上运行的任何 Pipelines as Code 管道,无论是由此管道运行的事件触发。此功能只是技术预览。
  • 在这个版本中,当在 Git 请求注释中为 Pipelines as Code 提供 /test/retest 命令时,您现在可以为管道运行设置任何标准或自定义参数。

    Git 请求注释中的命令示例

    /test pipelinerun1 revision=main param1="value1" param2="value \"value2\" with quotes"

    此命令在 main 分支上运行 pipelinerun1 管道,而不是在拉取请求分支上运行。

    /test checker target_branch=backport-branch

    此命令在对 backport-branch 分支的拉取请求的向后移植(cherry-pick)上运行 检查程序 管道。

  • 在这个版本中,在使用 Pipelines as Code 时,您可以在安装 OpenShift Pipelines 的命名空间中创建一个名为 pipelines-as-code 的全局 Repository CR,通常是 openshift-pipelines。在这个 CR 中,您可以设置适用于所有 Repository CR 的配置选项。您可以通过在 Repository CR 中为特定存储库设置不同的值来覆盖这些默认选项。
重要

全局 Repository CR 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

  • 在这个版本中,Pipelines as Code 会在决定哪些用户可以触发管道运行时处理 OWNERSOWNERS_ALIASES 文件。但是,如果 OWNERS 文件包含一个 filters 部分,Pipelines as Code 会匹配 approvers,并使用 reviewers 只适用于 198.51.100.0/24 过滤器。
  • 在这个版本中,当 Pipelines as Code 生成用于存储 GitHub 临时令牌的随机 secret 名称时,它会使用两个额外的随机字符。这个变化减少了 secret 名称冲突的可能性。
  • 在这个版本中,当使用 Pipelines as Code 定义的管道运行会导致 YAML 验证错误,OpenShift Pipelines 会在管道运行的用户命名空间中报告错误和管道运行名称,以及 OpenShift Pipelines 控制器日志中。错误报告也显示在 Git 存储库提供程序中,例如在 GitHub CheckRun 用户界面中。在这个版本中,无法访问控制器命名空间的用户可以访问错误消息。

1.3.1.7. Tekton Results

  • Tekton Results 使用 UpdateLog 操作将日志信息存储在数据库中。在这个版本中,您可以使用 TektonResult CR 为此操作指定一个超时值。如果操作没有在指定时间段内完成,Tekton Results 会结束操作。

    规格示例

    apiVersion: operator.tekton.dev/v1
    kind: TektonResult
    metadata:
      name: result
    spec:
         options:
            deployments:
               tekton-results-watcher:
                  spec:
                      template:
                         spec:
                            containers:
                            - name: watcher
                              args:
                              - "--updateLogTimeout=60s"

  • 在这个版本中,在配置 Tekton 结果时,您可以选择在 TektonResult CR 的 options.configMaps.tekton-results-api-config.data.config 部分中指定以下数据库配置设置:

    • DB_MAX_IDLE_CONNECTIONS :到可以保持打开的数据库服务器的最大闲置连接数
    • DB_MAX_OPEN_CONNECTIONS :与数据库服务器的最大连接总数
    • GRPC_WORKER_POOL : GRPC worker 池的大小
    • K8S_QPS :Kubernetes 客户端 QPS 设置
    • K8S_BURST: Kubernetes 客户端突发 QPS 设置

      如果要使用此设置,在配置 Tekton Results 时,还必须对几个其他配置参数使用备用 specs,如下表所示。常规和备用参数 specs 都位于 TektonResult CR 中。

      表 1.2. Tekton Results 的替代配置参数
      常规参数规格备用参数规格

      logs_api

      options.configMaps.tekton-results-api-config.data.config.LOGS_API

      log_level

      options.configMaps.tekton-results-api-config.data.config.LOG_LEVEL

      db_port

      options.configMaps.tekton-results-api-config.data.config.DB_PORT

      db_host

      options.configMaps.tekton-results-api-config.data.config.DB_HOST

      logs_path

      options.configMaps.tekton-results-api-config.data.config.LOGS_PATH

      logs_type

      options.configMaps.tekton-results-api-config.data.config.LOGS_TYPE

      logs_buffer_size

      options.configMaps.tekton-results-api-config.data.config.LOGS_BUFFER_SIZE

      auth_disable

      options.configMaps.tekton-results-api-config.data.config.AUTH_DISABLE

      db_enable_auto_migration

      options.configMaps.tekton-results-api-config.data.config.DB_ENABLE_AUTO_MIGRATION

      server_port

      options.configMaps.tekton-results-api-config.data.config.SERVER_PORT

      prometheus_port

      options.configMaps.tekton-results-api-config.data.config.PROMETHEUS_PORT

      gcs_bucket_name

      options.configMaps.tekton-results-api-config.data.config.GCS_BUCKET_NAME

      对于此表中未列出的配置参数,请使用常规规格,如文档所述。

      重要

      只有在需要使用 TektonResult CR 的 options.configMaps.tekton-results-api-config.data.config 部分中的附加设置时,才使用备用参数 specs。

  • 在这个版本中,您可以使用 Tekton Results API 检索 Tekton Results 的 Go 分析数据。
  • 在此次更新之前,Tekton Results 在显示每个日志数据片段时检查用户身份验证。在这个版本中,Tekton Results 会对每个日志数据请求只检查一次用户身份验证。这个更改改进了 Tekton Results 日志 API 的响应时间,用于使用命令行工具显示日志。

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

  • 在这个版本中,OpenShift Pipelines 控制台插件是在 web 控制台中查看管道和任务执行统计所需的 OpenShift Pipelines 控制台插件,并使用手动批准,需要 OpenShift Container Platform 版本 4.15 或更高版本。
  • 在此次更新之前,Pipelines as Code 在管道运行中设置 git-provider发送 者和 分支 标签。在这个版本中,Pipelines as Code 不再设置这些标签,Instead,它会设置 pipelinesascode.tekton.dev/git-provider,pipelinesascode.tekton.dev/sender, 和 pipelinesascode.tekton.dev/branch 注解。
  • 在这个版本中,您无法使用 jaeger exporter 进行 OpenTelemetry 追踪。您可以使用 oltptraceexporter 进行追踪。

1.3.3. 已知问题

  • 当使用集群解析器从 openshift-pipelines 命名空间中获取新的 skopeo-copy 任务时,当 VERBOSE 参数设置为 false 时,它无法正常工作。作为临时解决方案,当您使用此任务时,请将 VERBOSE 参数设置为 true。此问题不适用于 skopeo-copy ClusterTask
  • 当使用集群解析器从 openshift-pipelines 命名空间中获取新的 skopeo-copy 任务时,当使用它向 OpenShift Container Platform 内部镜像存储库推送或拉取镜像时,会失败,如 image-registry.openshift-image-registry.svc:5000。作为临时解决方案,请将 DEST_TLS_VERIFYSRC_TLS_VERIFY 参数设置为 false。或者,使用具有有效 SSL 证书的外部镜像存储库。此问题不适用于 skopeo-copy ClusterTask
  • 使用集群解析器从 openshift-pipelines 命名空间中提供新的 s2i fluentd 任务,如果您将 Git 协调克隆到 工作区的子目录,然后设置任务的 CONTEXT 参数,则会失败。作为临时解决方案,当使用这些任务时,不要设置 CONTEXT 参数。此问题不适用于 s2i="">> ClusterTasks
  • 新的 git-clone 任务(通过使用集群解析器从 openshift-pipelines 命名空间中获得)不会设置 COMMIT 结果值。此问题不适用于 git-clone ClusterTask
  • 如果您使用 OpenShift Container Platform 版本 4.16,jib-maven ClusterTask 无法正常工作。
  • 使用 Pipelines as Code 时,如果您在 openshift-pipelines 命名空间中名为 pipelines-as-code 的全局 Repository CR 中设置 concurrency_limit spec,它会为所有 Repository CR 提供默认设置,Pipelines as Code watcher 会崩溃。作为临时解决方案,请不要在这个 CR 中设置此 spec。反之,在您创建的其他 Repository CR 中设置 concurrency_limit spec。
  • 使用 Pipelines as Code 时,如果您在 openshift-pipelines 命名空间中名为 pipelines-as-code 的全局 Repository CR 中设置 settings.pipelinerun_provenance spec,它会为所有 Repository CR 提供默认设置,Pipelines as Code 控制器会崩溃。作为临时解决方案,请不要在这个 CR 中设置此 spec。相反,请在您创建的其他 Repository CR 中设置 settings.pipelinerun_provenance spec。

1.3.4. 修复的问题

  • 在此次更新之前,OpenShift Pipelines Operator 日志中存在有关重复协调的 ClusterTask 资源的许多 info 信息。在这个版本中,过量协调不再发生,且不会出现过量的信息。

    如果协调信息仍然存在,请删除 ClusterTask installerset 资源的早期版本。但是,如果您删除 installerset 资源,则无法在管道中使用此指定版本引用 ClusterTasks

    输入以下命令列出 installerset 资源:

    $ oc get tektoninstallersets

    版本化的 ClusterTask 安装程序设置 资源的名称为 addon-versioned-clustertasks-<version>-<unique_id&gt;,例如: addon-versioned-clustertasks-1.12-fblb8

    输入以下命令删除 installerset 资源:

    $ oc delete tektoninstallerset <installerset_name>
  • 在此次更新之前,如果任务运行或管道运行引用服务帐户,并且此服务帐户引用不存在的 secret,则任务运行或管道运行会失败。在这个版本中,任务运行或管道运行会记录警告并继续。
  • 在此次更新之前,当您在任务步骤中引用 StepAction CR 时,OpenShift Pipelines 会将步骤的所有参数传递给 StepAction CR。在这个版本中,OpenShift Pipelines 只将 StepAction CR 中定义的参数传递给步骤操作。
  • 在此次更新之前,如果您在管道中定义了任务的参数两次,OpenShift Pipelines 会在错误消息中记录错误的路径。在这个版本中,错误消息包含正确的路径。
  • 在此次更新之前,如果您在管道的 finally: 子句下指定了任务,请在此任务的 when: 子句中使用表达式,并在此表达式中引用另一个任务的状态(例如,'$(tasks.a-task.status)' == 'Succeeded',这个表达式不会被正确评估。在这个版本中,表达式会被正确评估。
  • 在此次更新之前,如果您在指定任务运行时指定了负次数重试,OpenShift Pipelines 不会检测到错误。在这个版本中,OpenShift Pipelines 会检测并报告这个错误。
  • 在此次更新之前,当在管道的任务中使用 pipelineRef: 部分来引用另一个管道,或者在管道的任务中使用 pipelineSpec: 部分来指定另一个管道时,OpenShift Pipelines 控制器可能会崩溃。在这个版本中,崩溃不会发生,并会记录正确的错误消息。不支持在管道中使用 pipelineRef:pipelineSpec: 部分。
  • 在此次更新之前,当您使用 workspace.< workspace_name>.volume 关键字将任务配置为使用工作区时,任务会失败,并为任务创建 pod 失败。在这个版本中,pod 被成功创建。
  • 在此次更新之前,OpenShift Pipelines 有时会在完成的管道运行或任务完成后修改记录的注解。例如,pipeline.tekton.dev/release 注解会记录管道的版本信息,并在执行管道运行后更新了管道版本,则可以更改此注解来反映新版本,而不是运行的版本。在这个版本中,注解反映了完成后管道运行的状态,OpenShift Pipelines 不会修改注解。
  • 在此次更新之前,如果管道运行使用的 YAML 清单(例如,任务或管道的清单)有语法错误,则日志记录错误消息是不特定于的,或者没有记录错误消息。在这个版本中,日志记录的错误消息包含语法错误。
  • 在此次更新之前,当将 buildah 集群任务与使用工作区提供的 .dockerconfigjson 文件的 secret 搭配使用时,任务会在 cp 命令过程中失败,因为 /root/.docker 目录不存在。在这个版本中,任务可以成功完成。
  • 在此次更新之前,如果管道运行超时,并且删除了此管道运行的 TaskRunCustomRun 资源,则管道运行执行会被阻断且永远不会完成。在这个版本中,执行正确终止,记录已取消的状态。
  • 在此次更新之前,当使用解析器包含远程源中的任务时,解析器会自动将 Taskkind 值添加到生成的规格中。在这个版本中,解析器不会为规格添加 kind 值。
  • 在此次更新之前,当使用 TektonConfig CR 中的 options: 部分设置配置选项时,这些选项有时无法正确应用。在这个版本中,这些选项会被正确应用。
  • 在此次更新之前,如果您设置 TektonConfig CR 中的 enable-api-fields 字段和某些其他字段,则设置会在任何 OpenShift Pipelines 更新后丢失。在这个版本中,设置会在更新过程中保留。
  • 在此次更新之前,如果您使用 TektonConfig CR 中的 options 部分配置 pod 横向自动扩展(HPA),则任何现有 HPA 会被正确更新,但在需要时不会创建新的 HPA。在这个版本中,使用 options 部分的 HPA 配置可以正常工作。
  • 在此次更新之前,您可能会错误地更改 TektonConfig CR 中的 targetNamespace 字段,从而创建一个不支持的配置。在这个版本中,您无法更改此字段。不支持从 openshift-pipelines 更改目标命名空间名称。
  • 在此次更新之前,如果任何命名空间中缺少或删除 pipelines-scc-rolebinding rolebinding,OpenShift Pipelines Operator 控制器无法正确在新命名空间中创建默认资源。在这个版本中,控制器可以正常工作。
  • 在此次更新之前,当在 EventListener CR 中定义 triggerGroup 时指定 namespaceSelector 值时,如果事件监听程序与事件监听器的命名空间不同,则事件监听程序无法访问指定命名空间中的触发器。在这个版本中,事件监听程序可以访问指定命名空间中的触发器。
  • 在此次更新之前,当请求发送到带有 Content-Type 标头的 EventListener 路由 URL 时,这个标头不会被传递给拦截器。在这个版本中,标头被传递给拦截器。
  • 在这个版本中,一些潜在的原因会导致 Tekton Results 变得无响应、崩溃或消耗大量内存。
  • 在此次更新之前,在 web 控制台的 Pipeline 详情 页面中,如果为任务配置了使用 CEL 的 when 表达式,则不会正确显示信息。在这个版本中,信息会被正确显示。
  • 在此次更新之前,在 web 控制台的 Pipeline 详情页面中,当您在 web 控制台中启用 dark 模式时,菜单不可见。在这个版本中,菜单可见。
  • 在此次更新之前,在 web 控制台的 Pipelines 页面中,有关运行管道统计信息的信息不包括在 Tekton Results 中保存的信息。在这个版本中,该页面包括每个管道的所有可用运行统计信息。
  • 在此次更新之前,当您在 web 控制台中查看一个命名空间的任务列表时,来自另一个命名空间中的任务有时会显示在列表中。在这个版本中,Web 控制台可以正确地列出每个命名空间的任务。
  • 在此次更新之前,当您查看在 web 控制台中运行的任务列表时,不会显示每个任务运行的状态。在这个版本中,在 web 控制台中运行的任务列表包括每个任务运行的状态。
  • 在此次更新之前,如果您在 OpenShift Pipelines 部署中禁用了集群任务,Web 控制台中的 Pipeline Builder 无法正常工作。在这个版本中,如果您禁用集群任务,Web 控制台中的 Pipeline Builder 可以正常工作。
  • 在此次更新之前,OpenShift Pipelines 控制台插件 pod 不会移到使用 nodeSelector,tolerations, 和 priorityClassName 设置指定的节点。在这个版本中,OpenShift Pipelines 插件 pod 移到正确的节点。
  • 在此次更新之前,当处理未设定并发限制的管道运行时,Pipelines as Code watcher 有时会崩溃。在这个版本中,这些管道运行会被正确处理。
  • 在此次更新之前,在 Pipelines as Code 中,并发限制设置 0 不会被解释为禁用并发限制。在这个版本中,并发限制设置 0 可禁用并发限制。
  • 在此次更新之前,当您为 Pipelines as Code 中的任务定义注解和标签时,在运行任务的 pod 上不会设置注解和标签。在这个版本中,Pipelines as Code 会在运行任务的 pod 上正确设置配置的注解和标签。
  • 在此次更新之前,Pipelines as Code 有时通过频繁重新读取内部配置 ConfigMap 资源而导致 Kubernetes 服务的负载。在这个版本中,Pipelines as Code 不再导致这个负载,因为它仅在修改 ConfigMap 资源后重新载入 ConfigMap 资源。
  • 在此次更新之前,当使用 Pipelines as Code 时,当您删除拉取请求(如 /test/retest )的注释时,Pipelines as Code 会再次在注释中执行该命令。在这个版本中,Pipelines as Code 仅在添加注释时执行命令。
  • 在此次更新之前,当使用 Pipelines as Code 时,如果一些管道为拉取请求运行失败,然后在 /test/retest 命令没有推送新提交后成功完成,Git 供应商的用户界面(如 GitHub)会显示以前的失败结果以及新的结果。在这个版本中,会显示 up-to-date 状态。
  • 在此次更新之前,当使用 tkn pr logs -f 命令查看正在运行的管道的日志时,命令行工具会停止响应,即使管道运行成功完成。在这个版本中,tkn pr logs -f 命令可以正确地显示日志信息并退出。

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

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

1.3.5.1. 新功能

  • 在此次更新之前,在 TektonConfig CR 中,chain.artifacts.pipelinerun.enable-deep-inspection spec 仅支持 bool 值类型。在这个版本中,chain.artifacts.pipelinerun.enable-deep-inspection spec 支持 bool string 值类型;如果使用字符串值 type,则此 spec 的有效值为 "true""false "。

1.3.5.2. 修复的问题

  • 在此次更新之前,当您使用 openshift-pipelines 命名空间中提供的 git-clone 任务时,此任务不会返回 COMMIT 结果。在这个版本中,任务返回 COMMIT 结果中的正确值。
  • 在此次更新之前,当使用解析器在管道或任务中包含 StepAction 资源时,管道或任务会失败,以及 Step to Step to StepAction 错误消息传递的额外 params。在这个版本中,管道或任务可以正确完成。
  • 在此次更新之前,当启用 OpenShift Pipelines 插件时,在 web 控制台中查看管道的详情页面,以及从菜单中选择 Edit Pipeline,控制台会显示管道的 YAML 规格。在这个版本中,控制台会显示 Pipeline Builder 页面。
  • 在此次更新之前,在 OpenShift Pipelines 版本 1.15.0 中,当您对拉取请求添加注释时,Pipelines as Code 根据注释内容设置事件类型,如 retest-commenton-comment。在这个版本中,拉取请求注释后的事件类型始终为 pull_request,类似于 OpenShift Pipelines 版本 1.14 及更早版本。

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

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

1.3.6.1. 修复的问题

  • 在此次更新之前,当您将参数值传递给管道或任务,并且值包含完整和简短参考格式的多个变量时,例如 $(tasks.task-name.results.variable1)+ $(variable2),OpenShift Pipelines 没有正确解释值。管道运行或任务运行可能会停止执行,Pipelines 控制器可能会崩溃。在这个版本中,OpenShift Pipelines 会正确解释值,管道运行或任务运行完成。
  • 在此次更新之前,在 web 控制台中,通过创建时间对管道运行和任务运行进行排序无法工作。按上次运行时间对管道进行排序也无法正常工作。在这个版本中,排序可以正常工作。
  • 在此次更新之前,在 web 控制台中,如果启用了 OpenShift Pipelines 控制台插件,在启动管道时,您无法为卷声明模板选择存储类,因为 VolumeClaimTemplate 选项中没有 StorageClass 列表。在这个版本中,您可以为卷声明模板选择存储类。
  • 在此次更新之前,如果您使用 Pipelines 作为代码,管道运行列表不会在 web 控制台的 Repository details 页面中正确显示。在这个版本中,管道运行列表会被正确显示。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.