我的.gitlab-ci.yml如下所示。由于如果分支为master且docker-dev取决于docker-build阶段,则将运行docker-build阶段。即使分支不是master而是feature分支,deploy-dev阶段也会显示 我也不想显示deploy-dev阶段。这没有意义,并可能导致问题。我该如何实现?谢谢
docker-build:
image: docker:19.03.12
stage: docker-build
services:
- docker:19.03.12-dind
script:
- docker build -t .....
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
deploy-dev:
stage: deploy
image: microsoft/azure-cli
dependencies:
- docker-build
script:
- ......
when:
manual
答案 0 :(得分:0)
dependencies
关键字有点用词不当。它不控制作业依赖于哪些其他作业,而是控制作业依赖于哪些工件。如果作业没有 dependencies
关键字,它将下载以前作业的所有工件。如果它是一个空数组,([]
) 它将不会下载任何工件。
目前,除了 only
/except
或 rules
关键字之外,没有其他方法可以限制在管道中运行的作业。