1.8. Red Hat OpenShift Pipelines 正式发行(GA)1.10 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.10 包括在 OpenShift Container Platform 4.11、4.12 和 4.13 中。
1.8.1. 新功能
除了包括修复和稳定性改进的信息外,以下小节突出介绍了 Red Hat OpenShift Pipelines 1.10 中的新内容。
1.8.1.1. Pipelines
-
在这个版本中,您可以在
PipelineRun
或TaskRun
pod 模板中指定环境变量来覆盖或附加任务或步骤中配置的变量。另外,您可以在默认 pod 模板中指定环境变量,以对所有PipelineRuns
和TaskRuns
全局使用这些变量。在这个版本中,添加了一个名为forbidden-envs
的新默认配置来过滤环境变量,同时从 pod 模板传播。 在这个版本中,管道中的自定义任务会被默认启用。
注意要禁用此次更新,请在
feature-flags
配置自定义资源中将enable-custom-tasks
标志设置为false
。-
在这个版本中,支持
v1beta1.CustomRun
API 版本进行自定义任务。 在这个版本中,增加了对
PipelineRun
reconciler 的支持,以创建自定义运行。例如,从PipelineRuns
创建的自定义TaskRuns
现在可以使用v1beta1.CustomRun
API 版本而不是v1alpha1.Run
,如果custom-task-version
功能标记被设置为v1beta1
,而不是默认值v1alpha1
。注意您需要更新自定义任务控制器,以侦听
*v1beta1.CustomRun
API 版本,而不是*v1alpha1.Run
以响应v1beta1.CustomRun
请求。-
在这个版本中,在
v1beta1.TaskRun
和v1.TaskRun
规格中添加了一个新的retries
字段。
1.8.1.2. 触发器
-
在这个版本中,触发器支持创建
v1
API 版本的Pipelines
,Tasks
,PipelineRuns
, 和TaskRuns
对象,以及v1beta1
API 版本的CustomRun
对象。 在这个版本中,GitHub Interceptor 会阻止执行拉取请求触发器,除非由拥有者调用或所有者使用可配置的注释。
注意要启用或禁用此更新,请在 GitHub Interceptor 配置文件中将
githubOwners
参数的值设置为true
或false
。-
在这个版本中,GitHub Interceptor 能够添加以逗号分隔的、用于推送和拉取请求事件更改的所有文件的列表。更改的文件列表添加到顶层 extensions 字段中事件有效负载的
changed_files
属性中。 -
在这个版本中,TLS 的
MinVersion
改为tls.VersionTLS12
,以便在启用了联邦信息处理标准 (FIPS) 模式时在 OpenShift Container Platform 上运行触发器。
1.8.1.3. CLI
-
在这个版本中,增加了对在启动一个
Task
,ClusterTask
或Pipeline
时传递一个 CSI(Container Storage Interface)文件作为工作区的功能。 -
在这个版本中,为与任务、管道运行和任务运行资源关联的所有 CLI 命令添加了
v1
API 支持。Tekton CLI 适用于这些资源的v1beta1
和v1
API。 -
在这个版本中,增加了对
start
和describe
命令中的对象类型参数的支持。
1.8.1.4. Operator
-
在这个版本中,在可选管道属性中添加了
default-forbidden-env
参数。参数包括禁止的环境变量,在通过 pod 模板提供时不应传播它们。 -
在这个版本中,增加了对 Tekton Hub UI 中的自定义徽标的支持。要添加自定义徽标,请在 Tekton Hub CR 中将
customLogo
参数的值设置为 base64 编码 URI。 - 在这个版本中,git-clone 任务的版本号增加到 0.9。
1.8.1.5. Tekton Chains
Tekton 链只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
-
在这个版本中,在测试时为
PipelineRun
和TaskRun
添加注解和标签。 -
此更新添加了一个名为
slsa/v1
的新格式,它生成与以in-toto
格式请求时生成的相同度。 - 在这个版本中,Sigstore 功能从实验性功能中移出。
-
在这个版本中,
predicate.materials
函数包括来自TaskRun
对象的所有步骤和 sidecar 的镜像 URI 和摘要信息。
1.8.1.6. Tekton Hub
Tekton Hub 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
-
在这个版本中,支持在集群中安装、升级或降级
v1
API 版本的 Tekton 资源。 - 在这个版本中,支持添加自定义徽标来代替 UI 中的 Tekton Hub 徽标。
-
在这个版本中,对
tkn hub install
命令进行了扩展,增加了一个--type artifact
标记,它会从 Artifact Hub 获取资源并将其安装到集群中。 - 在这个版本中,增加了将 tier, catalog, 和 org 的信息作为标签添加到从 Artifact Hub 安装到您的集群中的资源的支持。
1.8.1.7. Pipelines 作为代码(Pipelines as Code)
-
这个版本增强了传入的 Webhook 支持。对于在 OpenShift Container Platform 集群上安装的 GitHub 应用程序,您不需要为传入的 webhook 提供
git_provider
规格。相反,Pipelines as Code 会检测 secret,并将其用于传入的 Webhook。 - 在这个版本中,您可以使用同一令牌从带有非默认分支的 GitHub 上的同一主机获取远程任务。
-
在这个版本中,Pipelines 作为代码支持 Tekton
v1
模板。您可以使用v1
和v1beta1
模板,Pipelines 作为 PR 生成的代码读取。PR 在集群上以v1
的形式创建。 -
在此次更新之前,当 OpenShift 命名空间中找不到运行时模板时,OpenShift 控制台 UI 将使用硬编码的管道运行模板作为回退模板。在这个版本中,
pipelines-as-code
配置映射中提供了一个新的默认管道运行模板,名为pipelines-as-code-template-default
供控制台使用。 - 在这个版本中,Pipelines as Code 支持 Tekton Pipelines 0.44.0 最小状态。
-
在这个版本中,Pipelines as Code 支持 Tekton
v1
API,这意味着 Pipelines as Code 现在与 Tekton v0.44 及更新的版本兼容。 - 在这个版本中,除了为 OpenShift 和 Tekton 仪表板为 k8s 配置控制台外,您还可以配置自定义控制台仪表板。
-
在这个版本中,Pipelines as Code 会检测使用
tkn pac create repo
命令启动的 GitHub 应用程序的安装,如果全局安装,则不需要 GitHub Webhook。 -
在此次更新之前,如果
PipelineRun
执行出现错误,而不是附加到PipelineRun
的任务,Pipelines as Code 无法正确报告失败。在这个版本中,Pipelines as Code 会在无法创建PipelineRun
时在 GitHub 检查中正确报告错误。 -
在这个版本中,Pipelines as Code 包含一个
target_namespace
变量,它扩展至执行PipelineRun
的当前运行命名空间。 - 在这个版本中,Pipelines 作为代码可让您绕过 CLI bootstrap GitHub 应用程序中的 GitHub Enterprise 问题。
- 在这个版本中,当找不到存储库 CR 时,Pipelines as Code 不会报告错误。
- 在这个版本中,如果找到多个管道使用相同名称运行,Pipelines as Code 会报告一个错误。
1.8.2. 可能会造成问题的更改
-
在这个版本中,
tkn
命令的早期版本与 Red Hat OpenShift Pipelines 1.10 不兼容。 -
在这个版本中,从 Tekton CLI 删除了对
Cluster
和CloudEvent
管道资源的支持。您不能使用tkn pipelineresource create
命令创建管道资源。另外,任务、集群任务或管道的start
命令中不再支持管道资源。 -
在这个版本中,从 Tekton 链中删除
tekton
作为公认格式。
1.8.3. 弃用和删除的功能
-
在 Red Hat OpenShift Pipelines 1.10 中,
ClusterTask
命令现已弃用,计划在以后的发行版本中删除。此更新中还弃用了tkn task create
命令。 -
在 Red Hat OpenShift Pipelines 1.10 中,
tkn task start
命令中使用的标记-i
和-o
现已弃用,因为v1
API 不支持管道资源。 -
在 Red Hat OpenShift Pipelines 1.10 中,
tkn pipeline start
命令一起使用的标志-r
已被弃用,因为v1
API 不支持管道资源。 -
Red Hat OpenShift Pipelines 1.10 更新将
openshiftDefaultEmbeddedStatus
参数设置为both
,带有full
和minimal
嵌入式状态。更改默认嵌入式状态的标记也已弃用,并将被删除。另外,管道默认嵌入式状态将在以后的版本中更改为minimal
。
1.8.4. 已知问题
这个版本包括以下向后兼容的更改:
-
删除
PipelineResources
集群 -
删除
PipelineResources
云事件
-
删除
如果在集群升级后管道指标功能无法正常工作,请运行以下命令作为临时解决方案:
$ oc get tektoninstallersets.operator.tekton.dev | awk '/pipeline-main-static/ {print $1}' | xargs oc delete tektoninstallersets
- 在这个版本中,IBM Power、IBM zSystems 和 IBM® LinuxONE 不支持使用外部数据库,如 Crunchy PostgreSQL。反之,使用默认的 Tekton Hub 数据库。
1.8.5. 修复的问题
-
在此次更新之前,
opc pac
命令会生成一个运行时错误,而不是显示任何帮助。在这个版本中修复了opc pac
命令来显示帮助信息。 -
在此次更新之前,运行
tkn pac create repo
命令创建仓库需要 Webhook 详情。在这个版本中,tkn-pac create repo
命令在安装 GitHub 应用程序时不会配置 Webhook。 -
在此次更新之前,当 Tekton Pipelines 创建
PipelineRun
资源时遇到问题时,Pipelines as Code 不会报告管道运行创建错误。例如,管道运行中的不存在的任务不会显示任何状态。在这个版本中,Pipelines as Code 显示来自 Tekton Pipelines 的正确错误消息以及缺少的任务。 - 在这个版本中,UI 页面在成功身份验证后重定向。现在,您会被重定向到您试图登录到 Tekton Hub 的同一页面。
-
在这个版本中修复了带有标志
--all-namespaces
和--output=yaml
的list
命令,用于集群任务、单个任务和管道。 -
在这个版本中,删除了
repo.spec.url
URL 末尾的正斜杠,使其与来自 GitHub 的 URL 匹配。 -
在此次更新之前,
marshalJSON
函数不会编译对象列表。在这个版本中,marshalJSON
函数会对对象列表进行 marshals 处理。 - 在这个版本中,Pipelines 作为代码可让您绕过 CLI bootstrap GitHub 应用程序中的 GitHub Enterprise 问题。
- 在这个版本中,当您的存储库有超过 100 个用户时,GitHub collaborator 会检查。
-
在这个版本中,任务或管道的
sign
和verify
命令现在可以在没有 kubernetes 配置文件的情况下正常工作。 - 在这个版本中,如果在命名空间中跳过修剪器,Tekton Operator 会清理保留的修剪器 cron 作业。
-
在此次更新之前,API
ConfigMap
对象不会更新为目录刷新间隔配置的值。在这个版本中修复了 Tekon Hub CR 中的CATALOG_REFRESH_INTERVAL
API。 在这个版本中,在更改
EmbeddedStatus
功能标记时,PipelineStatus
的协调已被修复。在这个版本中重置以下参数:-
status.runs
和status.taskruns
参数为nil
,带有minimal EmbeddedStatus
-
status.childReferences
参数为nil
,带有full EmbeddedStatus
-
-
在这个版本中,添加了一个到
ResolutionRequest
CRD 的转换配置。在这个版本中,可以正确地配置从v1alpha1.ResolutionRequest
请求到v1beta1.ResolutionRequest
请求的转换。 - 在这个版本中会检查与一个管道任务关联的重复工作区。
- 在这个版本中修复了在代码中启用解析器的默认值。
-
在这个版本中,使用解析器修复了
TaskRef
和PipelineRef
名称转换的问题。
1.8.6. Red Hat OpenShift Pipelines 正式发行(GA)1.10.1 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.10.1 包括在 OpenShift Container Platform 4.11、4.12 和 4.13 中。
1.8.6.1. 修复了 Pipelines as Code 的问题
-
在此次更新之前,如果来自有效负载的源分支信息包含
refs/heads/
,但用户配置的目标分支仅包含分支名称,main
在 CEL 表达式中,推送请求将失败。在这个版本中,Pipelines as Code 会传递推送请求,并在有效负载中基本分支或目标分支具有refs/heads/
时触发管道。 -
在此次更新之前,当无法创建
PipelineRun
对象时,从 Tekton 控制器接收的错误不会被报告给用户。在这个版本中,Pipelines as Code 会向 GitHub 界面报告错误消息,以便用户可以对错误进行故障排除。Pipelines as Code 还会报告管道执行过程中发生的错误。 - 在这个版本中,当因为基础架构问题而无法在 OpenShift Container Platform 集群中创建 secret 时,Pipelines as Code 不会将 secret 回滚到 GitHub 检查接口。
- 在这个版本中,删除了从 Red Hat OpenShift Pipelines 不再使用的已弃用的 API。
1.8.7. Red Hat OpenShift Pipelines 正式发布 1.10.2 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.10.2 包括在 OpenShift Container Platform 4.11、4.12 和 4.13 中。
1.8.7.1. 修复的问题
在此次更新之前,Tekton Operator 中的一个问题会阻止用户将 enable-api-fields
标志的值设置为 beta
。在这个版本中解决了这个问题。现在,您可以在 TektonConfig
CR 中将 enable-api-fields
标志的值设置为 beta
。
1.8.8. Red Hat OpenShift Pipelines 正式发布 1.10.3 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.10.3 包括在 OpenShift Container Platform 4.11、4.12 和 4.13 中。
1.8.8.1. 修复的问题
在此次更新之前,Tekton Operator 不会公开任何自定义的性能配置字段。在这个版本中,作为集群管理员,您可以根据您的需要自定义 TektonConfig
CR 中的以下性能配置字段:
-
disable-ha
-
bucket
-
kube-api-qps
-
kube-api-burst
-
threads-per-controller
1.8.9. Red Hat OpenShift Pipelines 正式发行 1.10.4 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.10.4 包括在 OpenShift Container Platform 4.11、4.12 和 4.13 中。
1.8.9.1. 修复的问题
-
在这个版本中解决了管道运行中的
PipelineRef
字段的捆绑包解析器转换问题。现在,转换功能会在转换后将kind
字段的值设置为Pipeline
。 -
在此次更新之前,
pipelinerun.timeouts
字段被重置为timeout.pipeline
值,忽略timeout.tasks
和timeout.finally
值。在这个版本中解决了这个问题,并为PipelineRun
资源设置正确的默认超时值。 - 在此次更新之前,控制器日志包含不必要的数据。在这个版本中解决了这个问题。
1.8.10. Red Hat OpenShift Pipelines 正式发布(GA)1.10.5 发行注记
在这个版本中,除了 4.11、4.12 和 4.13 外,Red Hat OpenShift Pipelines 正式发布 (GA) 1.10.5 包括在 OpenShift Container Platform 4.10 中。
Red Hat OpenShift Pipelines 1.10.5 仅适用于 OpenShift Container Platform 4.10、4.11、4.12 和 4.13 上的 pipelines-1.10
频道。它不适用于任何 OpenShift Container Platform 版本的 latest
频道。
1.8.10.1. 修复的问题
-
在此次更新之前,使用
oc
和tkn
命令无法列出或删除大型管道运行。在这个版本中,通过压缩导致这个问题的巨页注解解决了这个问题。请注意,如果管道运行在压缩后仍然太大,则还会出现同样的错误。 -
在此次更新之前,只有
pipelineRun.spec.taskRunSpecs[].podTemplate
对象中指定的 pod 模板才会被视为管道运行。在这个版本中,pipelineRun.spec.podTemplate
对象中指定的 pod 模板也会被考虑,并与pipelineRun.spec.taskRunSpecs[].podTemplate
对象中指定的模板合并。
1.8.11. Red Hat OpenShift Pipelines 正式发行 1.10.6 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.10.6 包括在 OpenShift Container Platform 4.10、4.11、4.12 和 4.13 中。
这个版本包括 tkn
命令行工具的更新版本。您可以在以下位置下载此工具的更新版本:
如果您使用 Red Hat Enterprise Linux (RHEL)上的 RPM 安装 tkn
命令行工具,请使用 yum update
命令安装更新的版本。
1.8.11.1. 已知问题
-
如果您输入
tkn task start
或tkn clustertask start
命令,tkn
命令行工具会显示错误消息。作为临时解决方案,要使用命令行启动任务或集群任务,请使用 OpenShift Pipelines 1.11 或更高版本提供的tkn
工具版本。
1.8.11.2. 修复的问题
- 在这个版本中,S2I 集群任务使用 General Availability 容器镜像。
- 在这个版本中,webhook 不支持 HTTP/2.0 协议。所有对 Red Hat OpenShift Pipelines 的 Webhook 调用必须使用 HTTP/1.1 协议。