发版日志

Tip

版本 v4.0.z 的维护期为 2025 年 4 月 8 日至 2026 年 4 月 8 日。

兼容性与支持矩阵

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

Alauda DevOps Pipelines 版本Tekton 组件版本ACP 版本
v4.0.16Pipelines: v0.65.7
Chains: v0.23.1
Pipelines-as-Code: v0.32.0
Results: v0.13.4
Triggers: v0.30.1
Tekton Hub: v1.19.2
v4.0, v4.1, v4.2
v4.0.15Pipelines: v0.65.7
Chains: v0.23.1
Pipelines-as-Code: v0.32.0
Results: v0.13.4
Triggers: v0.30.1
Tekton Hub: v1.19.2
v4.0, v4.1, v4.2
v4.0.14Pipelines: v0.65.7
Chains: v0.23.1
Pipelines-as-Code: v0.32.0
Results: v0.13.4
Triggers: v0.30.1
Tekton Hub: v1.19.2
v4.0, v4.1
v4.0.13Pipelines: v0.65.7
Chains: v0.23.1
Pipelines-as-Code: v0.32.0
Results: v0.13.4
Triggers: v0.30.1
Tekton Hub: v1.19.2
v4.0, v4.1
v4.0.12Pipelines: v0.65.5
Chains: v0.23.0
Pipelines-as-Code: v0.32.0
Results: v0.13.2
Triggers: v0.30.1
Tekton Hub: v1.19.2
v4.0, v4.1
v4.0.10Pipelines: v0.65.5
Chains: v0.23.0
Pipelines-as-Code: v0.32.0
Results: v0.13.2
Triggers: v0.30.1
Tekton Hub: v1.19.2
v4.0, v4.1
v4.0.7Pipelines: v0.65.5
Chains: v0.23.0
Pipelines-as-Code: v0.32.0
Results: v0.13.2
Triggers: v0.30.1
Tekton Hub: v1.19.2
v4.0, v4.1

v4.0.16

新增与优化功能

本次更新修复了一些漏洞和安全问题,确保系统的稳定性和安全性。

修复的问题

  • 在此次更新之前,在启用严格 SELinux 限制的 MicroOS 环境中,依赖 Java 工具(如 Maven、SonarQube)的 Tekton 任务会因报错 “Error occurred during initialization of VM - Failed to mark memory page as executable” 而无法启动。通过本次更新,该问题已修复,MicroOS 环境中基于 Java 的 Tekton 任务现在可以正常运行。

已知问题

此次发版无相关问题。

v4.0.15

新增与优化功能

本次更新修复了一些漏洞和安全问题,确保系统的稳定性和安全性。

修复的问题

此次发版无相关问题。

已知问题

  • 在启用严格 SELinux 限制的 MicroOS 环境中,依赖 Java 工具(如 Maven 和 SonarQube)的 Tekton 任务无法启动,报错 "Error occurred during initialization of VM - Failed to mark memory page as executable"。该问题由 OpenJDK 的 JVM 解释器与 MicroOS 安全限制不兼容导致。此问题影响 MicroOS 环境中所有基于 Java 的 Tekton 任务,导致关键 CI/CD 工作流无法执行。

v4.0.14

新增与优化功能

本次更新修复了一些漏洞和安全问题,确保系统的稳定性和安全性。

修复的问题

  • 在此更新之前,执行 Tekton Pipeline 流水线过程中,用户偶尔会遇到由于初始化容器内存不足 (OOM) 错误导致的随机测试用例失败,容器以退出码 137 终止并导致流水线执行失败。通过此更新,已优化初始化容器的内存分配以防止 OOM 错误,确保在频繁的端到端测试场景中流水线执行的稳定性和可靠性。

已知问题

此次发版无相关问题。

v4.0.13

新增与优化功能

本次更新修复了一些漏洞和安全问题,确保系统的稳定性和安全性。

修复的问题

  • 在此更新之前,当tektoncd-operator部署Tekton Results组件时,如果外部PostgreSQL凭据中包含特殊字符(如"/"),部署会失败。在此更新中,即使PostgreSQL凭据包含特殊字符(如"/"),tektoncd-operator也能成功部署Tekton Results组件。
  • 在此更新之前,当用户在流水线界面中创建触发器表单并导航到拦截器 → 参数 → 键输入框时,按回车键会导致整个页面刷新,中断表单编辑工作流程并可能导致数据丢失。通过此次更新,触发器表单输入字段中回车键的行为已得到修复,以防止不必要的页面刷新,允许用户完成表单编辑而不会中断,并确保流畅的用户体验。

已知问题

此次发版无相关问题。

v4.0.12

新增与优化功能

本次更新修复了一些小问题,提升了用户体验。

修复的问题

  • 在此更新之前,如果 Tektoncd Operator 的 Hub 组件有更新,需要手动干预才能触发升级。通过此次更新,系统将自动检测 Hub 组件的更新并自动触发升级。
  • 在此更新之前,部署 Tektoncd Operator 后,触发器所需的 clustertriggerbinding 资源未被导入,导致使用触发器功能时不便。通过此次更新,该资源将被自动导入,使触发器功能更易于使用。
  • 在此次更新之前,Tekton Results组件(tekton-results-api、tekton-results-retention-policy-agent、tekton-results-postgres)将密钥存储为环境变量,这违反了Kubernetes STIG安全基线要求V-242415,该要求禁止将密钥存储为环境变量。通过此次更新,这些组件不再通过环境变量挂载密钥,确保符合Kubernetes安全标准。

已知问题

此次发版无相关问题。

v4.0.10

新增与优化功能

本次更新修复了一些漏洞和安全问题,确保系统的稳定性和安全性。

修复的问题

  • 在此更新之前,插件会安装一个 ClusterRole 和多个命名空间范围内的 Role 对象,这些对象在 resources 和 verbs 字段中使用了通配符(”*”)。通过此次更新,所有通配符已被替换为明确的资源和操作列表,仅包含插件实际所需的权限。

已知问题

此次发版无相关问题。

v4.0.7

新增与优化功能

基于 Tekton 及其 API,Alauda DevOps Pipelines 提供了更友好高效的流水线构建与管理方式。凭借直观的界面和丰富的功能,用户可以轻松创建和管理流水线,并获得实时反馈和洞察。

开箱即用部署:

  • Tekton Pipelines
  • Tekton Triggers
  • Tekton Chains
  • Tekton Hub

配置和部署选项支持:

  • Tekton Results
  • Pipeline-as-code

修复的问题

  • 在此更新之前,Tekton Pipeline 组件存在 Kubernetes STIG 安全漏洞,其中密钥通过 tekton-hub-api 部署中的环境变量暴露,违反了安全最佳实践。通过此次更新,环境变量中的密钥挂载逻辑已被完全移除,确保 tekton-hub-api 部署不再暴露任何凭据,符合 Kubernetes STIG 安全要求。
  • 在此更新之前,在 Tekton Operator 插件中创建包含 git-clone 任务的流水线时,由于缺少必需的镜像而导致流水线执行失败。通过此次更新,缺少镜像的问题已得到修复,确保 git-clone 任务现在可以在流水线中成功执行。
  • 在此更新之前,Tekton Results 中的 tekton-results-retention-policy-agent 容器在环境变量中包含敏感信息,在容器操作和日志记录场景中存在以明文形式暴露凭据的安全风险。通过此次更新,敏感信息已得到适当保护并从环境变量中移除,以防止凭据泄露,确保 retention-policy-agent 容器在其配置中不再包含明文密码或令牌,从而增强了 Tekton Results 系统的整体安全态势。
  • 在此更新之前,tekton-results-postgres-0 中的 PostgreSQL 容器包含带有敏感信息的环境变量,如 PASSWORD、password、TOKEN 和 token,当这些凭据以明文形式暴露时存在安全风险。通过此次更新,敏感环境变量已得到适当保护,不再包含明文密码或令牌,确保敏感凭据得到安全处理,不会在容器环境变量中暴露。
  • 在此更新之前,tekton-results-api 容器的环境变量包含敏感信息,当这些凭据以明文形式暴露时存在安全风险。通过此次更新,敏感环境变量已得到适当保护,密码和令牌信息不再以明文形式暴露,增强了 tekton-results-api 组件的安全性。
  • 在此更新之前,当运行包含 buildah 任务的流水线时,如果使用非 root 安全上下文(UID 65532),流水线会因权限错误而失败。这是因为容器的 subuid 配置不完整,缺少对 UID 65532 的支持。通过此次更新,我们通过添加缺失的 UID 范围(noroot:1:65531 和 noroot:65533:65535)来修复 subuid 配置,以支持使用 UID 65532 的非 root 执行。此外,我们还添加了集成测试,确保 buildah 任务在非 root 用户场景下成功运行。
  • 在此更新之前,流水线界面存在多个显示问题,包括文本显示问题、变量完成多行功能用户体验不佳,以及更新触发器时的不稳定行为,其中参数和工作空间有时会出现有时会消失,需要用户重新选择流水线才能使它们出现(包括流水线列表)。通过此次更新,这些显示问题已得到解决。流水线和流水线运行页面现在正确显示,具有改进的文本渲染、增强的变量完成多行功能以提供更好的用户体验,以及稳定的触发器更新行为,其中参数和工作空间一致出现,无需重新选择流水线。
  • 在此更新之前,当 PAC(Pipelines as Code)webhook 同时触发多个流水线时,由于 PAC 控制器逻辑中的全局变量问题,流水线运行参数被损坏。这导致所有触发的流水线都使用相同的参数,使流水线以意外的方式执行。通过此次更新,PAC 控制器已通过消除对全局变量的依赖而得到修复,这些全局变量导致了并发触发流水线之间的参数干扰。现在,当多个流水线通过 webhook 同时触发时,每个流水线运行都能正确接收和使用其特定参数,确保使用预期参数执行。

已知问题

此次发版无相关问题。