Gitlab CI阶段和家属

时间:2020-11-04 16:04:50

标签: git continuous-integration gitlab gitlab-ci

我的.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

1 个答案:

答案 0 :(得分:0)

dependencies 关键字有点用词不当。它不控制作业依赖于哪些其他作业,而是控制作业依赖于哪些工件。如果作业没有 dependencies 关键字,它将下载以前作业的所有工件。如果它是一个空数组,([]) 它将不会下载任何工件。

目前,除了 only/exceptrules 关键字之外,没有其他方法可以限制在管道中运行的作业。