You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何隐藏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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 17:34:58