ci — 输出工作流模板¶
输出 GitHub Actions 工作流 YAML 模板(docker-mtrans.yml),用于部署到 [ci].repo 仓库。
用法¶
工作流做什么¶
模板实现 workflow_dispatch 触发的镜像复制:
- 解密凭据并登录:用 Secret
AUTH_PASSPHRASE解密 inputtarget_auth_secret得到登录凭据,::add-mask::打掩码后docker login目标注册表。 - 复制镜像:
docker pull源镜像 →docker tag为目标镜像 →docker push到目标注册表。
关键安全约束(ADR-0002)
target_auth_secret与secrets.AUTH_PASSPHRASE绝不在 run 脚本中内联${{ }}——runner 回显脚本时会先替换为实际值,必然明文落日志;而是经 step 级env:传入(env 值不回显)。- 脚本内依次对加密口令、
auth(base64)、用户名、密码打掩码,再进行docker login与拉取/推送。 - 密码经
--password-stdin传入,不进命令行参数。 - 解密、解码、打掩码、登录收敛为同一步骤执行。
部署步骤¶
docker mtrans ci docker-mtrans.yml生成模板。- 把文件放到
[ci].repo仓库的.github/workflows/docker-mtrans.yml。 - 在该仓库 Settings → Secrets and variables → Actions 添加 Secret
AUTH_PASSPHRASE,值与本地[setting].auth_passphrase一致。
完整说明见部署 GitHub Actions 工作流。