用途:在三个上游 GitHub 仓库(rhdh、rhdh-operator、rhdh-must-gather)中刷新基础镜像与 RPM 锁文件,并同步 Node 头文件、Go 工具链版本。
主要能力:调用 updateBaseImages.sh 更新基础镜像;用 rpm-lockfile-prototype 依据 Containerfile 与 rpms.in.yaml 重新生成 rpms.lock.yaml;对 rhdh 检测 ubi9/nodejs-* 构建镜像的 Node 版本并更新 .nvmrc 与 .nvm/releases/;对 rhdh-operator 的 main 分支读取 ubi9/go-toolset 的 Go 版本并更新 go.mod。支持 --analyze 只读扫描 Containerfile/Dockerfile,报告当前与最新 FROM 行、标记格式错误标签、警告 UBI 次版本偏差。
使用方式:先满足前置条件(jq、skopeo、curl、git、podman、gh、python3/pip,并登录 registry.redhat.io)。执行 scripts/base-images-and-rpms.sh,不要内联重写流程。常用参数:-b 指定 main 或 release-* 分支;--parent-dir 自动发现仓库;--update-base-images-script 与 --rpm-lockfile-prototype 指定本地工具;--skip-base/--skip-rpm 只跑一半;--dry-run 仅打印命令;--analyze 只读扫描。默认基础镜像更新使用 --pr --no-push,RPM 锁文件与 Node 头文件变更提交并推送到同一自动化 PR 分支。
适用场景:需要定期维护 RHDH 相关仓库基础镜像与 RPM 锁文件的自动化更新流程。
限制:需人工审查后合并,不得直接推送到受保护分支;目标分支必须在三个仓库中都存在;更新前必须登录 registry.redhat.io;提交 rpms.lock.yaml 前需确认基础镜像次版本仍与 rpms.in.yaml 的仓库 URL 匹配;每个 registry FROM 行上方需有注释 URL;rhdh 的 e2e-tests/ 与 .ci/ 路径不参与扫描。具体收费、价格、平台等信息暂未提供。