我有一个管道,其中包含由分支更改触发的多个作业:
deployDev:
only:
- dev
script:
- ...
deployProd:
only:
- master
script:
- ...
如果我现在点击 GitLab UI 中的“运行管道”按钮,它会触发这些作业还是仅触发指定 when:manual
的作业?
当我运行手动部署时,如何确保 deployDev
和 deployProd
不运行?
我已经在这里检查过:https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-basic,但我不确定。
答案 0 :(得分:1)
它将运行与分支对应的所有作业,并等待手动作业的手动操作。
因此您的 deploydev 将针对您的开发管道运行,而其他作业将仅在生产管道中运行
答案 1 :(得分:1)
我也有点困惑你想从你的评论中得到什么,但是......
<块引用>如果我现在点击 GitLab UI 中的“运行管道”按钮,它会触发这些作业还是仅触发指定 when:manual 的作业?
正如@Prashanna 所说,It'll run all jobs corresponding to the branch and will wait for manual action for manual jobs.
如果您不希望在按下 deployDev
按钮时 deployProd
和 Run Pipeline
出现在流水线中,您可以使用:
only:
- master
except:
- web
来自您显示的链接 https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-basic:web
-
对于使用 GitLab UI 中的运行管道按钮创建的管道,来自项目的 CI/CD > 管道部分。
上面的作业只会出现在流水线中,当它是 master
分支时,并且当它没有被 Run Pipeline
按钮触发时。