发版日志

TIP

版本 v4.2.x 的维护周期为 2025 年 8 月 15 日至 2026 年 8 月 15 日。

目录

兼容性和支持矩阵

下表展示了 Alauda DevOps Pipelines operator 与 ACP 版本之间的兼容性和支持矩阵。

Alauda DevOps Pipelines VersionComponent VersionACP Version
OperatorPipelinesTriggersCLIChainsHubResults
4.2.x (LTS)1.0.x0.32.x0.41.x0.25.x1.20.x0.15.x4.0, 4.1
4.1.x0.65.x0.30.x0.39.x0.23.x1.19.x0.14.x4.0, 4.1
4.0.x (LTS)0.65.x0.30.x0.39.x0.23.x1.19.x0.13.x4.0, 4.1

v4.2.0

通过此次更新,Alauda DevOps Pipelines v4.2 可在 Alauda Container Platform v4.0 及更高版本上使用。

新增与优化功能

任务和流水线管理

  • Task 视图中新增了 Task 生命周期管理能力,便于对 Task 的全生命周期进行集中管理。
  • 扩展了 Task 类型支持,新增了 Python TaskPytest Task
  • 提供了通用的 Python Pipeline 模板,简化 Python 相关 Pipeline 的创建流程。
  • run-script Task 增加了缓存挂载能力,支持通过 Workspace 配置缓存存储。
  • 改进了 UI 交互体验:通过 UI 创建 TaskPipeline 时,无需在 YAML 中显式指定 Namespace,系统将自动处理命名空间配置。

Pipeline

  • Tekton Pipelines 现支持在 onError 字段中使用参数替换语法(如 $(params.strategy)),使用户能够通过 Pipeline 参数、执行上下文或 Task 结果动态定义错误处理策略。
  • 此次更新中,远程解析功能中包含的 Git 解析器改为使用本地的 git 二进制文件,而非纯 Go 实现的 go-git 库。此改动降低了内存消耗并提升了克隆性能,尤其是针对大型仓库。该优化采用浅克隆标志,例如 --depth 1,以减少资源使用。无需对 Pipeline 清单进行任何更改。
  • 本次发布将 StepAction 定义从 alpha 更新为 stable,并默认启用。早期版本中使用的 enable-step-actions 标志已废弃,未来版本将移除。
  • 此次更新中,Pipeline 调度器已正确评估扇出/扇入模式中的结果引用。此前,当矩阵 Task 依赖结果引用时,相关 Pipeline 可能会出现不可预测的失败。

Trigger

  • 允许用户在 EventListener 资源规范中配置自定义的 securityContext,以满足个性化安全需求。
    • EventListener 中使用 securityContext 的示例:
      apiVersion: triggers.tekton.dev/v1beta1
      kind: EventListener
      metadata:
        name: securitycontext-example
      spec:
        serviceAccountName: triggers-example
        triggers:
          - name: foo-trig
        resources:
          kubernetesResource:
            spec:
              template:
                spec:
                  securityContext:
                    runAsNonRoot: true
                  containers:
                    - securityContext:
                        readOnlyRootFilesystem: true
  • 新增支持在 EventListener 对象中包含 imagePullSecrets 字段,简化从私有仓库拉取镜像的凭据配置。
    • EventListener 中使用 imagePullSecrets 的示例:
      apiVersion: triggers.tekton.dev/v1beta1
      kind: EventListener
      metadata:
        name: imagepullsecrets-example
      spec:
        serviceAccountName: triggers-example
        resources:
          kubernetesResource:
            spec:
              template:
                spec:
                  imagePullSecrets:
                    - name: docker-login

Chains

  • 此次更新中,Tekton Chains 控制器使用 StatefulSet 序号来提升高可用性和工作负载分布,作为领导者选举机制的替代方案。
    • Tekton Chains 中使用 StatefulSet 序号的示例:
      apiVersion: operator.tekton.dev/v1alpha1
      kind: TektonConfig
      metadata:
        name: config
      spec:
        chains:
          performance:
            disable-ha: false
            buckets: 4
            replicas: 4
            statefulset-ordinals: true
    • 注意: StatefulSet 序号功能为 alpha 特性,默认未启用。

Results

  • 新增支持在 TektonConfig 中配置自定义数据库凭据。
  • Results API 新增响应字段过滤和部分响应功能:允许指定 API 响应中包含的字段,减少数据传输量,优化 List 操作的响应延迟和 I/O 性能,提高网络效率。
  • 此次更新中,Tekton Results watcher 使用 StatefulSet 序号来提升高可用性和工作负载分布,作为领导者选举机制的替代方案。
    • Tekton Results watcher 中使用 StatefulSet 序号的示例:
      apiVersion: operator.tekton.dev/v1alpha1
      kind: TektonConfig
      metadata:
        name: config
      spec:
        result:
          performance:
            disable-ha: false
            buckets: 4
            replicas: 4
            statefulset-ordinals: true
    • 注意: StatefulSet 序号功能为 alpha 特性,默认未启用。

重大变更

  • ClusterTask 弃用:本版本移除了对 ClusterTask 对象的支持。
    • 环境影响
      • 新部署环境:无法创建 ClusterTask 资源。
      • 升级环境:虽然升级环境中仍可创建现有的 ClusterTask 资源,但系统不会执行或使用它们。
      • 迁移要求:当前使用 ClusterTask 资源的流水线必须迁移为使用 Task 资源,以确保功能持续可用。
    • 附加变更
      • Tekton Hub 不再提供 ClusterTask 功能。
      • tkn clustertasktkn task create 命令不再可用。

修复的问题

产品问题

  • 在此更新之前,当您在Alauda Pipeline UI中从执行参数中移除ConfigMap的key时,被移除的key在实际的流水线执行中仍然会被包含,导致UI显示与实际流水线行为不一致。通过此次更新,在UI中移除ConfigMap key的操作现在能够正确应用到实际的流水线执行中,确保界面与运行时行为的一致性。

Community 问题

本版本解决了 Tekton 社区的以下上游问题:

Tekton Pipelines

  • 更新前,集群解析器缺少访问 StepAction 资源的 RBAC 权限,导致远程解析 StepAction 时授权失败。此次更新补充了缺失的 RBAC 权限,允许集群解析器获取和列出 StepAction,确保远程解析功能正常。
  • 更新前,默认值中的参数引用和 StepAction 中的链式引用未被正确支持,导致参数解析失败。此次更新改进了参数解析逻辑,支持默认值中的参数引用及 StepAction 中的链式引用。
  • 更新前,带有特殊矩阵任务的枚举参数校验可能导致流水线控制器 panic。此次更新改进了校验逻辑,避免在处理矩阵任务配置中的枚举参数时发生 panic。
  • 更新前,空结果的解析逻辑可能导致流水线执行异常失败。此次更新改进了解析逻辑,优雅处理空结果,防止流水线因空结果处理失败。
  • 更新前,when 条件优先级低于其他执行条件,导致任务执行行为异常。此次更新提升了 when 条件的优先级,确保条件执行逻辑正确。
  • 更新前,CustomRun 资源可能导致流水线控制器 panic,影响控制器稳定性。此次更新解决了由 CustomRun 引起的 panic 问题,提升控制器稳定性。
  • 更新前,远程任务参数的默认值替换功能异常,导致参数解析失败。此次更新修复了远程任务参数默认值替换,确保远程任务参数正确处理。
  • 更新前,StepAction 资源未配置使用转换 webhook,导致不同 API 版本兼容性问题。此次更新为 StepAction 配置了转换 webhook,确保 API 版本兼容。
  • 更新前,hub 解析器未将 StepAction 识别为有效资源类型,无法解析来自 Tekton Hub 的远程 StepAction。此次更新将 StepAction 添加为 hub 解析器的有效类型,支持从 Tekton Hub 解析 StepAction。
  • 更新前,扇出矩阵任务因结果引用问题可能失败,导致流水线执行失败。此次更新改进了结果引用处理,避免因结果引用问题导致扇出矩阵任务失败。
  • 更新前,subPath 目录创建错误会导致 PipelineRun 立即失败,无法恢复。此次更新对 subPath 目录创建错误进行了重试处理,允许 Alauda Container Platform 自动解决目录创建问题。

已知问题

此次发版无相关问题。