我在gitlab.com和问题跟踪器上使用Gitlab。 每次遇到问题时,我都会在问题内的按钮上创建一个新分支,但这会触发CI中的新构建(管道)。 我不想要这个,因为这个分支来自master并且不需要构建。
我怎样才能实现这一目标?这是gitlab-ci.yml修改还是与存储库相关的配置?
答案 0 :(得分:0)
您可以通过only
和except
参数定义构建的特定步骤将在哪些分支中运行:https://docs.gitlab.com/ee/ci/yaml/#only-and-except-complex
例如,在除分支分支之外的所有分支中运行java build:
java-build:
stage: build
except:
- /^issue-.*$/
script:
- mvn -U -e install
image: maven:3.5-jdk-8
仅将构建限制为master和release分支:
java-build:
stage: build
only:
- master
- /^RELEASE-.*$/
script:
- mvn -U -e install
image: maven:3.5-jdk-8
答案 1 :(得分:0)
基于Commit消息,我们可以避免在GitLab CI / CD管道上为新创建的分支构建
Build Branch(master):
stage: build
only:
refs:
- master
variables:
- $CI_COMMIT_MESSAGE =~ /^\[master\].*$/
script:
- echo "master branch"
# - sleep 60 | echo "hello master"
# when: delayed
# start_in: 3 minutes
interruptible: true
Build Branch(release):
stage: build
only:
refs:
- /^build_.*$/
variables:
- $CI_COMMIT_MESSAGE =~ /^\[build\].*$/
script:
- echo "release branch"
# - sleep 60 | echo "hello release"
# when: delayed
# start_in: 3 minutes
interruptible: true
当提交消息以[master]或[build]开头时,分支将触发。