1.7. Red Hat OpenShift Pipelines 正式发布 1.11 发行注记


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

1.7.1. 新功能

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

注意

在升级到 Red Hat OpenShift Pipelines Operator 1.11 之前,请确保至少在集群中安装了 OpenShift Container Platform 4.12.19 或 4.13.1 版本。

1.7.1.1. Pipelines

  • 在这个版本中,您可以在在 ARM 硬件上运行的 OpenShift Container Platform 集群上使用 Red Hat OpenShift Pipelines。您有对可以使用镜像的 ClusterTask 资源以及 ARM 硬件上的 Tekton CLI 工具的支持。
  • 在这个版本中,当您在 TektonConfig CR 中将 enable-api-fields 功能标记设置为 beta 值时,增加了对结果、对象参数、数组结果和索引到数组的支持。
  • 在这个版本中,传播的参数成为稳定功能中的一部分。此功能允许在嵌入式规格中隔离参数,以减少 Tekton 资源中的详细程度。
  • 在这个版本中,传播工作区是稳定功能的一部分。您可以通过将 enable-api-fields 功能标记设置为 alphabeta 值来启用传播工作区功能。
  • 在这个版本中,TaskRun 对象获取,并在 pod 无法运行时向用户显示 init 容器失败信息。
  • 在这个版本中,您可以在配置列表时替换管道任务的参数、结果和上下文,如以下准则:

    • matrix.params 配置中,使用 array 参数替换数组,string, array, 或 object 参数替换字符串。
    • matrix.include 配置中,使用 string, array, 或 object 参数替换字符串。
    • 将管道任务的上下文替换为 matrix.include 配置中的另一个上下文。
  • 在这个版本中,TaskRun 资源验证过程也会验证 matrix.include 参数。验证会检查所有参数是否具有值,并与指定类型匹配,对象参数具有所有必需的键。
  • 在这个版本中,在 default-configs 配置映射中添加了一个新的 default-resolver-type 字段。您可以设置此字段的值设置为配置默认解析器。
  • 在这个版本中,您可以在 pipelineRun.workspaces.subPath 配置中定义和使用 PipelineRun 上下文变量。
  • 在这个版本中,ClusterResolverBundleResolverHubResolverGitResolver 功能现在默认可用。

1.7.1.2. 触发器

  • 在这个版本中,Tekton Triggers 支持 EventListener 规格中的 AffinityTopologySpreadConstraints 值。您可以使用这些值为 EventListener 对象配置 Kubernetes 和自定义资源。
  • 在这个版本中,添加了一个 Slack 拦截器,允许您使用 Slack 中的斜杠命令提取字段。提取的字段以 HTTP 请求的格式为 data 部分发送。

1.7.1.3. Operator

  • 在这个版本中,您可以通过在 TektonConfig CR 中设置 prune-per-resource 布尔值字段来为每个 PipelineRunTaskRun 资源配置修剪。您还可以通过将 operator.tekton.dev/prune.prune-per-resource=true 注解添加到该命名空间中,为命名空间中的每个 PipelineRunTaskRun 资源配置修剪。
  • 在这个版本中,如果 OpenShift Container Platform 集群范围代理中存在任何更改,Operator Lifecycle Manager (OLM) 会重新创建 Red Hat OpenShift Pipelines Operator。
  • 在这个版本中,您可以通过在 TektonConfig CR 中将 config.pruner.disabled 字段的值设置为 true 来禁用修剪器功能。

1.7.1.4. Tekton Chains

  • 在这个版本中,Tekton 链已正式发布。
  • 在这个版本中,您可以使用带有 Tekton 链的 skopeo 工具来生成密钥,这些密钥在 cosign 签名方案中使用。
  • 当您升级到 Red Hat OpenShift Pipelines Operator 1.11 时,以前的 Tekton Chains 配置将被覆盖,您必须在 TektonConfig CR 中再次设置它。

1.7.1.5. Tekton Hub

重要

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

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

  • 在这个版本中,在 resource API 响应中添加了一个新的 resource/<catalog_name>/<kind>/<resource_name>/raw 端点和一个新的 resourceURLPath 字段。这个版本可帮助您获取资源的最新原始 YAML 文件。

1.7.1.6. Tekton Results

重要

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

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

  • 在这个版本中,在 Tekton Operator 中添加 Tekton Results 作为可选组件。

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

  • 在这个版本中,Pipelines as Code 允许您使用 params 字段在 PipelineRun 资源中扩展自定义参数。您可以为 Repository CR 模板中的 custom 参数指定一个值。指定的值替换管道运行中的 custom 参数。另外,您还可以定义自定义参数,仅在指定条件与通用表达式语言 (CEL) 过滤器兼容时使用其扩展。
  • 在这个版本中,您可以通过点 GitHub 接口的 Checks 选项卡中的 Re-run all check 按钮来重新运行特定的管道或所有管道。
  • 在这个版本中,在 Pipelines as Code CLI 中添加了一个新的 tkn pac info 命令。作为管理员,您可以使用 tkn pac info 命令获取有关 Pipelines 作为代码安装的以下详情:

    • 安装 Pipelines as Code 的位置。
    • Pipelines as Code 的版本号。
    • 在集群中创建的 Repository CR 概述,以及与存储库关联的 URL。
    • 任何已安装的 GitHub 应用程序的详情。

      在这个命令中,您还可以使用 --github-api-url 参数指定自定义 GitHub API URL。

  • 在这个版本中,为所有 PipelineRun 资源启用错误检测。Pipelines as Code 会检测 PipelineRun 资源执行是否已失败,并显示错误的最后几行片断。对于 GitHub 应用程序,Pipelines as Code 会在容器日志中检测错误消息,并在拉取请求中将它们作为注解公开。
  • 在这个版本中,您可以从附加到私有 Git 存储库的私有 Tekton Hub 实例获取任务。要启用此更新,Pipelines as Code 使用私有 Tekton Hub 实例的内部原始 URL,而不是使用 GitHub 原始 URL。
  • 在此次更新之前,Pipelines as Code 提供了不包含命名空间详情的日志。在这个版本中,Pipelines as Code 将命名空间信息添加到管道日志中,以便您可以根据命名空间和调试轻松过滤它们。
  • 在这个版本中,您可以定义要获取 PipelineRun 资源定义的公认源。默认情况下,Pipelines as Code 从触发事件的分支获取 PipelineRun 资源定义。现在,您可以将 pipelinerun_provenance 设置的值配置为 default_branch,以便从 GitHub 上配置的存储库的默认分支获取 PipelineRun 资源定义。
  • 在这个版本中,您可以在以下级别扩展 GitHub 令牌的范围:

    • 存储库级别:使用此级别将范围扩展到存在于原始存储库所在的同一命名空间中的存储库。
    • 全局级别:使用此级别将范围扩展到不同命名空间中存在的存储库。
  • 在这个版本中,Pipelines as Code 会为不是所有者、collaborator 或公共成员或没有列出的用户创建的拉取请求触发 CI 管道,但没有列在 owner 文件中,但有权将更改推送到存储库。
  • 在这个版本中,自定义控制台设置允许您使用 Repository CR 中的自定义参数。
  • 在这个版本中,Pipelines as Code 将所有 PipelineRun 标签改为 PipelineRun 注解。您可以使用 PipelineRun 注解来标记 Tekton 资源,而不是使用 PipelineRun 标签。
  • 在这个版本中,您可以将 pac-config-logging 配置映射用于 watcher 和 webhook 资源,但不能用于 Pipelines as Code 控制器。

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

  • 在这个版本中,resource-verification-mode 功能标记替换为管道规格中的新的 trusted-resources-verification-no-match-policy 标志。
  • 在这个版本中,您无法编辑 Tekton Chains CR。反之,编辑 TektonConfig CR 来配置 Tekton 链。

1.7.3. 弃用和删除的功能

  • 在这个版本中,删除了对 PipelineResource 命令和 Tekton CLI 的引用的支持:

    • 从集群任务中删除管道资源
    • 从任务中删除管道资源
    • 从管道中删除管道资源
    • 删除资源命令
    • clustertask describe 命令中删除输入和输出资源
  • 在这个版本中,从 Tekton CLI 中删除了 full 嵌入式状态的支持。
  • taskref.bundlepipelineref.bundle 捆绑包已弃用,并将在以后的发行版本中删除。
  • 在 Red Hat OpenShift Pipelines 1.11 中,删除了对 PipelineResource CR 的支持,使用 Task CR。
  • 在 Red Hat OpenShift Pipelines 1.11 中,删除了对 v1alpha1.Run 对象的支持。在升级到这个版本前,您必须将对象从 v1alpha1.Run 升级到 v1beta1.CustomRun
  • 在 Red Hat OpenShift Pipelines 1.11 中,删除了 custom-task-version 功能标记。
  • 在 Red Hat OpenShift Pipelines 1.11 中,pipelinerun.status.taskRunspipelinerun.status.runs 字段已被删除,以及 embedded-status 功能标记。改为使用 pipelinerun.status.childReferences 字段。

1.7.4. 已知问题

  • 如果 prune-per-resource 布尔值字段不是任何管道或任务的一部分,则设置 prune-per-resource 布尔值字段不会删除 PipelineRunTaskRun 资源。
  • Tekton CLI 不显示使用解析器创建的 PipelineRun 资源的日志。
  • 当您根据 order_by=created_time+desc&page_size=1 查询过滤管道结果时,您获得零条记录,没有输出中的 nextPageToken 值。
  • 当您将 loglevel.pipelinesascode 字段的值设置为 debug 时,在 Pipelines as Code controller pod 中不会生成调试日志。作为临时解决方案,重启 Pipelines as Code 控制器 pod。

1.7.5. 修复的问题

  • 在此次更新之前,Pipelines as Code 在检测 PipelineRun CR 中的 generateName 字段时无法创建 PipelineRun 资源。在这个版本中,Pipelines as Code 代码支持在 PipelineRun CR 中提供 generateName 字段。
  • 在此次更新之前,当您从 web 控制台创建 PipelineRun 资源时,所有注解都会从管道复制,从而导致运行的节点出现问题。在这个版本中,这个问题已被解决。
  • 在这个版本中,tkn pr delete 命令修复了 keep 标记。现在,如果 keep 标记的值等于关联的任务运行或管道运行的数量,则命令会返回退出代码 0 和一条消息。
  • 在此次更新之前,Tekton Operator 不会公开任何自定义的性能配置字段。在这个版本中,作为集群管理员,您可以根据您的需要自定义 TektonConfig CR 中的以下性能配置字段:

    • disable-ha
    • bucket
    • kube-api-qps
    • kube-api-burst
    • threads-per-controller
  • 在这个版本中,修复了远程远程捆绑包解析器中的问题,现在在将 kind 字段与捆绑包中的 dev.tekton.image.kind 注解值进行比较时区分大小写。
  • 在此次更新之前,远程解析器的 pod 会在克隆大型 Git 存储库时内存不足。在这个版本中解决了这个问题,并增加部署远程解析器的内存限值。
  • 在这个版本中,远程解析支持 v1 类型的任务和管道资源。
  • 在这个版本中,从 API 中删除嵌入的 TaskRun 状态。嵌入的 TaskRun 状态现在作为已弃用的功能,以支持与旧版本的 client-server 兼容。
  • 在此次更新之前,所有注解都会合并到 PipelineRunTaskRun 资源中,即使执行不需要它们。在这个版本中,当您将注解合并到 PipelineRunTaskRun 资源中时,会跳过 last-applied-configuration 注解。
  • 在这个版本中解决了一个回归问题,并防止验证跳过的任务结果。例如,如果管道结果引用跳过的 PipelineTask 资源,则不会发出管道结果,并且 PipelineRun 执行不会因为缺少结果而失败。
  • 在这个版本中,使用 pod 状态消息来确定 pod 终止的原因。
  • 在此次更新之前,没有为执行 finally 任务设置默认解析器。在这个版本中,为 finally 任务设置默认解析器。
  • 在这个版本中,Red Hat OpenShift Pipelines 在使用远程解析时避免 TaskRunPipelineRun 执行的 occasional 失败。
  • 在此次更新之前,较长的管道运行会停留在集群中的运行状态,即使超时也是如此。在这个版本中解决了这个问题。
  • 在这个版本中,tkn pr delete 命令已被修复,使用 keep 标志。在这个版本中,如果 keep 标记的值等于关联的任务运行或管道运行的数量,tkn pr delete 命令会返回退出代码 0 以及一条消息。

1.7.6. Red Hat OpenShift Pipelines 正式发行 1.11.1 发行注记

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

1.7.6.1. 修复的问题

  • 在此次更新之前,当一个运行或待处理 pod 被抢占时,任务运行可能会失败,并显示挂载路径错误消息。在这个版本中,当集群导致 pod 被删除并重新创建时,任务运行不会失败。
  • 在此次更新之前,任务中的 shell 脚本必须以 root 用户身份运行。在这个版本中,shell 脚本镜像设置了非 root 用户 ID,以便您可以运行包含 shell 脚本的任务,如 git-clone 任务,作为 pod 中的非 root 用户。
  • 在此次更新之前,在 Red Hat OpenShift Pipelines 1.11.0 中,当管道运行使用 Pipelines as Code 定义时,Git 仓库中的定义会引用 tekton.dev/v1beta1 API 版本,并包括一个 spec.pipelineRef.bundle 条目,捆绑包引用的 kind 参数被错误地设置为 Task。此问题在早期版本的 Red Hat OpenShift Pipelines 中不存在。在这个版本中,kind 参数会被正确设置。
  • 在此次更新之前,disable-ha 标志无法正确传递给 tekton-pipelines 控制器,因此无法启用 Red Hat OpenShift Pipelines 的高可用性 (HA) 功能。在这个版本中,disable-ha 标志会被正确传递,您可以根据需要启用 HA 功能。
  • 在此次更新之前,您无法为 hub 解析器设置 Tekton Hub 和 Artifact Hub 的 URL,因此您只能使用 Tekton Hub 和 Artifact Hub 的预设置地址。在这个版本中,您可以为 hub 解析器配置 Tekton Hub 和 Artifact Hub 的 URL,例如使用您安装的自定义 Tekton Hub 实例。
  • 在这个版本中,git-init 镜像的 SHA 摘要对应于版本 1.10.5,这是镜像的当前发布版本。
  • 在此次更新之前,tekton-pipelines-controller 组件使用名为 config-leader-election 的配置映射。此名称是 knative 控制器的默认值,因此 OpenShift Pipelines 的配置过程可能会影响其他控制器,反之亦然。在这个版本中,组件使用唯一的配置名称,因此 OpenShift Pipelines 的配置过程不会影响其他控制器,且不受其他控制器的影响。
  • 在此次更新之前,如果没有写入访问 GitHub 仓库的用户打开拉取请求,Pipelines as Code CI/CD 操作会在 GitHub 中显示为 skipped。在这个版本中,Pipelines as Code CI/CD 操作在 GitHub 中显示为 Pending approval
  • 在此次更新之前,Pipelines as Code 会针对每个拉取请求在与配置的分支名称匹配的分支中运行 CI/CD 操作。在这个版本中,只有在拉取请求的源分支与确切配置的分支名称匹配时,Pipelines as Code 才会运行 CI/CD 操作。
  • 在此次更新之前,OpenShift Container Platform 开发人员控制台中无法看到 Pipelines as Code 控制器的指标。在这个版本中,Pipelines as Code 控制器的指标显示在开发人员控制台中。
  • 在此次更新之前,在 Red Hat OpenShift Pipelines 1.11.0 中,Operator 始终安装 Tekton 链,且无法禁用 Tekton Chains 组件的安装。在这个版本中,您可以在 TektonConfig CR 中将 disabled 参数的值设置为 true,以禁用安装 okindf Tekton Chains。
  • 在此次更新之前,如果您使用 TektonChain CR 在旧版本的 OpenShift Pipelines 上配置 Tekton 链,然后升级到 OpenShift Pipelines 版本 1.11.0,则配置信息会被覆盖。在这个版本中,如果您从 OpenShift Pipelines 的旧版本升级,且安装了 TektonConfig 的同一命名空间中配置了 Tekton 链 (openshift-pipelines),Tekton Chains 配置信息会被保留。

1.7.7. Red Hat OpenShift Pipelines 正式发布 1.11.2 发行注记

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

这个版本包括 tkn 命令行工具的更新版本。您可以在以下位置下载此工具的更新版本:

如果您使用 Red Hat Enterprise Linux (RHEL)上的 RPM 安装 tkn 命令行工具,请使用 yum update 命令安装更新的版本。

1.7.7.1. 修复的问题

  • 在此次更新之前,tkn pac resolve -f 命令不会检测到现有的 secret 来使用 Git 仓库进行身份验证。在这个版本中,这个命令会成功检测到 secret。
  • 在这个版本中,您可以在 tkn pac resolve 命令中使用- v1beta1 标志。如果要使用 v1beta1 API 版本 schema 生成管道运行,请使用此标志。
  • 在此次更新之前,如果此管道运行引用解析器,tkn pr logs 命令将无法显示管道运行的日志。在这个版本中,命令会显示日志。
  • 在这个版本中,git-init 镜像的 SHA 摘要与版本 1.12.1 对应,这是镜像的当前发行版本。
  • 在这个版本中,webhook 不支持 HTTP/2.0 协议。所有对 Red Hat OpenShift Pipelines 的 Webhook 调用必须使用 HTTP/1.1 协议。

1.7.8. 已知问题

  • 如果您使用 Bundles 解析器定义一个管道运行,然后在此管道运行中使用 tkn pac resolve --v1beta1 命令,命令会生成不正确的 YAML 输出。捆绑包的 kind 参数设置为 YAML 输出中的 Task。作为临时解决方案,您可以手动在 YAML 数据中设置正确的值。另外,您可以使用 opc pac resolve --v1beta1 命令,或使用 OpenShift Pipelines 版本 1.12.0 或更高版本中包含的 tkn 工具版本。

1.7.9. Red Hat OpenShift Pipelines 正式发布 1.11.3 发行注记

在这个版本中,除了 4.12 及更新的版本外,Red Hat OpenShift Pipelines 正式发行(GA) 1.11.3 包括在 OpenShift Container Platform 4.11 中。

1.7.9.1. 修复的问题

  • 在此次更新之前,如果管道的最终任务失败或被跳过,OpenShift Pipelines 会报告验证错误。在这个版本中,即使其最终任务失败或被跳过,管道也可以成功。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.