如何仅在特定分支中的更改上运行管道?

时间:2021-01-17 20:08:00

标签: gitlab gitlab-ci

我反复查看文档,但找不到如何配置我的 .gitlab-ci.yml 以便仅在分支 mqtt_based 中的更改而不是默认 master 中执行内容}}。

我希望为每个部分添加一个 only 条目就足够了(我希望有一个全局设置),但这并没有帮助(当 mqtt_based 分支时管道没有启动已更改)

variables:
  BRANCH: "mqtt_based"

stages:
  - build
  - deploy

job:build-back:
  stage: build
  script:
    - cd back
    - docker build --build-arg COMMIT=${CI_COMMIT_SHORT_SHA} --build-arg DATE=$(date --iso-8601=seconds) -t registry.XXX/homemonitor-back:latest -t registry.XXX/homemonitor-back:${CI_COMMIT_SHORT_SHA} -f Dockerfile .
  only:
    - $BRANCH
(...)

1 个答案:

答案 0 :(得分:1)

你需要在“only”之后使用“refs”。像这样

only:
  refs:
    - mqtt_based

文档:https://docs.gitlab.com/ce/ci/yaml/#onlyexcept-advanced