我们有一个工作(部署到生产),我们通常在检查构建阶段后手动单击它。但是,偶尔我们会遇到意外部署的问题,并希望尽快修复。在这些情况下,我们在本地运行测试(更快)并[urgent-fix]输入我们的提交消息以停止在 CI 中运行的测试(直接跳到 Docker 镜像构建和暂存部署)。
我们想要做的是,如果我们把[urgent-fix]它自动触发生产部署(通常是一个when: manual步骤)。我们能以某种方式实现这一目标吗?
听起来您可以使用only:variables语法和$CI_COMMIT_MESSAGE预定义变量的组合。
一个粗略的想法(未经测试):
.deploy_production: &deploy_production
stage: deploy production
script:
- echo "I'm deploy production here"
tags:
- some special tag
deploy::manual:
<< *deploy_production
when: manual
allow_failure: false
deploy:urgent_fix:
<< *deploy_production
only:
variables:
- $CI_COMMIT_MESSAGE =~/[urgent-fix]/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |