gitlab-ci - 有没有办法从 gitlab AutoDevOps 中排除特定分支?
问题描述
我试图production
从 AutoDevOps 中的 gitlab 管道中排除特定分支,但是我看不出能够找出正确的语法。这是我所拥有的:
build:
stage: build
image: docker:19.03.1
variables:
DOCKER_TLS_CERTDIR: ""
services:
- docker:19.03.8-dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
if [[ -z "$CI_COMMIT_TAG" ]]; then
export CI_APPLICATION_REPOSITORY=${CI_APPLICATION_REPOSITORY:-$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG}
export CI_APPLICATION_TAG=${CI_APPLICATION_TAG:-$CI_COMMIT_SHA}
else
export CI_APPLICATION_REPOSITORY=${CI_APPLICATION_REPOSITORY:-$CI_REGISTRY_IMAGE}
export CI_APPLICATION_TAG=${CI_APPLICATION_TAG:-$CI_COMMIT_TAG}
fi
# make and git needed to run makefiles
- apk add --update make
- apk add --update git
- make ci-build
- make ensure_project publish_artifact
rules:
# don't build on production - that is just a marker branch in git
- if: '$CI_COMMIT_BRANCH != "production"'
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'
但是,管道仍在运行production
。我究竟做错了什么?
解决方案
推荐阅读
- server - HTTP/2 服务器推送和浏览器缓存
- google-apps-script - 例外:附加触发器的重复间隔必须至少为一小时
- scala - 如何在本地使用 Scala 为 Spark ML 加载示例数据?
- ruby - 由于@unlink_internal,无法使用 FileUtils.rm 删除文件夹或文件
- json - 如何将有限的 json 数据(存储在 SPIFF)从 esp8266 发送到本地服务器?
- django - 如何使用 django-rest-framework 保存外键
- odata - Azure 搜索筛选器查询会执行类型强制吗?
- tcp - 既然 MQTT 基于 TCP,那为什么 MQTT 需要 QoS 呢?
- c++ - 未定义对“vtable for”的引用
- javascript - 如何从我的 Node.JS 向我的 Javascript 客户端发送一个警报?