我试图排除一个特定的分支
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'
然而,管道仍在运行
生产
我做错了什么?