gitlab - 如何仅在特定分支中的更改上运行管道?
问题描述
我正在来回查看文档,但找不到如何配置我.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
(...)
解决方案
您需要在“only”之后使用“refs”。像这样的东西
only:
refs:
- mqtt_based
推荐阅读
- sqlcmd - SQL 关键字的 SQLCMD 问题
- elasticsearch - Stormcrawler -> Elasticsearch 的最佳设置,如果爬行的礼貌不是问题?
- c# - 日期时间并不总是被设置
- c++ - 当构造函数抛出异常时,构造函数中分配的内存如何释放?
- java - 使用正则表达式将多项式中的自由项与实系数匹配
- c - 使用整数表示十进制数
- curl - 地理编码 - cURL 方法
- mysql - 将 MySQL 字符串拆分为两个字段
- javascript - javascript:协调角度以从 node.js 接收数据
- codenameone - 将手风琴添加到 gui builder 表单