首页 > 解决方案 > 如何仅在特定分支中的更改上运行管道?

问题描述

我正在来回查看文档,但找不到如何配置我.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
(...)

标签: gitlabgitlab-ci

解决方案


您需要在“only”之后使用“refs”。像这样的东西

only:
  refs:
    - mqtt_based

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


推荐阅读