用途 该技能面向使用 Konflux 与 Tekton 流水线的仓库(资料以 openshift/hypershift 为例),用于把 .tekton/ 目录中引用的过期 Tekton 任务更新到最新版本,减少手工逐条比对镜像摘要的工作。
主要能力
- 过期检测:提供企业合约验证日志时,从日志中提取提及“newer version exists”的过期任务告警,解析任务名、当前摘要与最新摘要;未提供日志时,运行 hack/tools/scripts/update_trusted_task_bundles.py 并对 .tekton 下 YAML 文件执行 --dry-run --json --upgrade-versions,从输出的 updates 与 available_upgrades 中识别需更新的任务。
- 摘要到版本映射:用 hack/tools/scripts/find_task_version_by_digest.sh 基于 skopeo list-tags 与 skopeo inspect,把 SHA256 摘要映射为干净的语义版本标签,过滤提交哈希风格标签。
- 迁移检查:对发生版本跳变的任务,检查按 https://github.com/konflux-ci/build-definitions/blob/main/task/{task-name}/{version}/MIGRATION.md 组织的迁移说明;若引用迁移脚本,检查对应 scripts 路径并运行,提取破坏性变更、新参数或手工步骤,必要时向用户确认。若任务仍使用 quay.io/redhat-appstudio-tekton-catalog,则检查是否已在 quay.io/konflux-ci/tekton-catalog 可用并切换。
- 批量更新:发现 .tekton/**/*.yaml,把旧的 task 镜像引用替换为新版本,多任务时使用 MultiEdit 提升效率。
- 汇总报告:列出过期任务及更新状态、当前与最新版本映射、版本跳变与仅摘要更新的区分、迁移说明与手工步骤、更新文件清单及前后示例。
使用方式
- 从日志更新:/update-konflux-tasks ../../hypershift-operator-enterprise-contract-lxgvw-verify.log
- 自动检测更新:/update-konflux-tasks 运行依赖 skopeo(容器镜像检查)、jq(JSON 解析)、yq(YAML 解析)、pyyaml(无日志时脚本需要,pip install pyyaml),以及联网访问迁移文档与镜像仓库。
适用场景 适用于维护 Konflux Tekton 流水线 YAML、需要按企业合约验证结果或自动检测结果同步任务版本、并希望在版本跳变前获知迁移影响的开发与运维场景。
限制 资料未说明具体的更新频率、支持的任务范围、失败回滚策略或权限要求;若日志文件不存在、脚本执行失败或工具缺失,技能会输出错误信息与安装提示。迁移说明 URL 返回 404 时视为无迁移文档。