如何隐藏GitLab流水线中停止作业的STOP触发按钮?
解决GitLab CI流水线中隐藏stop作业手动触发按钮的问题
你可以通过给stop:test作业添加精准的rules规则,实现仅允许从Operate>Environments菜单触发停止操作,同时保留作业状态的可查看性,不会完全隐藏作业组件。
修改后的配置如下:
deploy:test: stage: deploy:test environment: name: test on_stop: stop:test script: ... # 你的部署执行脚本 stop:test: stage: stop:test environment: name: test action: stop script: ... # 你的环境停止执行脚本 rules: - if: '$CI_JOB_MANUAL == "true" && $CI_ENVIRONMENT_ACTION == "stop"' when: manual
规则说明
- 这个规则限制
stop:test作业仅在由环境停止事件触发时才会被创建并允许执行,也就是只有从Operate>Environments菜单点击STOP按钮时,才会触发该作业。 - 流水线页面中不会再显示该作业的手动触发STOP按钮,但当作业被环境停止事件触发后,开发者依然能在流水线详情里查看该作业的执行状态(成功、失败等)。
- 保留
action: stop字段,完全符合GitLab对环境停止作业的配置要求,不会导致配置失效。
版本注意
需要确保你的GitLab版本在13.10及以上,因为CI_ENVIRONMENT_ACTION环境变量是在这个版本开始引入的。
内容的提问来源于stack exchange,提问作者ale666
相关产品推荐
相关产品推荐

