1.6. Red Hat OpenShift Pipelines 1.19.4 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.19.4 包括在 OpenShift Container Platform 4.16 及更新的版本中。
1.6.1. 修复的问题 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Pipelines
- Git 解析器不再忽略集群自定义 PKI 中的证书
- 在此次更新之前,回归错误会导致 Git 解析器不再使用 OpenShift Proxy 自定义 PKI。这导致 Git 解析器无法解析对自托管 Git 供应商的引用。在这个版本中,OpenShift Proxy 中配置的完整证书颁发机构(CA)捆绑包由系统在所有组件(包括 Git 解析器)中信任。
- 当验证带有无效列表变量替换的 Pipelines 时,Operator 不再 panic
-
在此次更新之前,使用
v1beta1API 的Pipeline资源,其中包含带有无效变量或结果引用的列表任务,从而导致 Operator 验证 Webhook panic。这是因为v1beta1验证逻辑试图解决列表参数中的不正确的结果替换,从而导致没有范围的索引错误和 webhook 崩溃。因此,Pipeline创建失败并显示内部错误,而不是返回正确的验证错误。在这个版本中,验证逻辑可以正确地检测到无效的结果引用,并拒绝带有标准验证错误的Pipeline资源,从而防止 Operator 出现问题。
Operator
- Webhook 验证不再破坏 control-plane 命名空间
-
在此次更新之前,
tekton-operator-proxy-webhook准入 Webhook 会验证所有命名空间,包括 control-plane 命名空间(kubeunmarshal,openshift requirements)。此行为可能会导致 Webhook 证书问题在命名空间协调过程中影响不相关的系统组件,如 Network Operator。在这个版本中,webhook 从验证中排除 control-plane 命名空间。这个更改可防止证书问题影响其他集群操作器,保留现有的证书续订逻辑,并改进了 Tekton 和系统组件之间的隔离。
Pipelines 作为代码(Pipelines as Code)
- revision 变量不再返回不正确的提交 SHA
-
在此次更新之前,Pipelines as Code 动态变量
修订版本在升级到 OpenShift Pipelines 1.19 后返回原始提交的 SHA 而不是最新的 HEAD 合并提交。在这个版本中,revision变量始终获取 HEAD 合并提交的 SHA。 - Bitbucket 数据中心不再错误地报告未授权用户的运行状态
-
在此次更新之前,当被 Bitbucket 数据中心上的未授权用户打开拉取请求时,CI 状态会错误地将状态报告为
Running,而不是Pending。在这个版本中,状态会在等待管理员批准时正确报告Pending。 - 解析器不再为非Tekton 资源造成假的失败报告
-
在此次更新之前,保存在
.tekton目录中的非 Tekton 资源会导致误报失败报告。解析器会尝试 unmarshal 所有文件,并在遇到未识别的资源(如ImageDigestMirrorSet)时,它会生成错误,从而导致在其他成功拉取请求中造成误导 "PipelineRun failure" 注释。在这个版本中,解析器可以正确地忽略 非Tekton 资源 的错误。这可防止不相关的文件触发假故障,这减少了拉取请求中的声明。 - prioritySemaphore 实现不再停滞并发管道执行
- 在此次更新之前,基于优先级的 semaphore 机制中的漏洞可能会导致并发管道挂起、失败或负载不可预测。这些问题是由不正确的锁定处理、对共享数据的访问和不当管理的队列操作而触发的。在这个版本中,锁定模型已被增强,共享数据访问被完全同步,队列操作会被安全处理。semaphore 机制现在可以可靠地管理并发管道执行,避免死锁、竞争条件和运行时错误。
用户界面
- 不正确的排序逻辑不再影响 PipelineRun 持续时间显示
-
在此次更新之前,根据持续时间对
PipelineRuns进行排序,使用字符串排序而不是实际的持续时间值,这会导致误导结果。在这个版本中,逻辑被更新为使用status.completionTime和status.startTime之间的持续时间(以秒为单位)。 - 带有空默认数组的任务参数不再触发验证
-
在此次更新之前,错误触发了默认为
['']的任务参数验证检查。这会导致 Pipeline builder UI 出现问题,比如防止使用默认的BUILD_ARGS参数保存Buildah任务。在这个版本中,检查已被删除,任务现在可以正确保存,即使带有空默认数组。 - 控制台 UI 不再错误地将 PipelineRun 状态显示为 cancelling
-
在此次更新之前,当
PipelineRun具有 status reasonCancelledRunFinally并包含多个finally任务时,任何finally任务中的一个失败会导致控制台 UI 错误地将PipelineRun状态显示为Cancelling而不是Cancelled。在这个版本中,这个问题已被解决。 - Pipeline Builder UI 不再在命名空间中显示过时的任务参数
- 在此次更新之前,Pipeline Builder UI 可能会显示在不同命名空间中共享相同名称的任务的过时或不正确的参数数据。这可能导致您意外使用无效配置保存管道,从而导致潜在的管道失败。在这个版本中,Pipeline Builder 侧面板可以正确地显示所选命名空间中任务的参数,与 YAML 编辑器中显示的数据匹配。现在,跨命名空间任务引用安全解决,有助于防止冲突并确保显示一致的、准确的任务参数。
- OpenShift Pipelines 控制台中的 YAML 视图不再无法更新
-
在此次更新之前,在 OpenShift Pipelines 控制台的 YAML 编辑器中进行的更改没有正确同步。更新 YAML 不会立即反映更改,管道只能在重新挂载组件或切换视图后创建。在这个版本中,YAML 编辑器使用
useEffecthook 正确同步更改,帮助您在没有临时解决方案的情况下直接从 YAML 编辑器创建管道。