[英]Is there any way to change branch name automatically inside the .gitlab-ci.yml file?
我正在尝试构建我的.gitlab-ci.yml
文件,以便为我的功能分支完成正确的管道运行。
由于我的功能分支将从开发中克隆,它将获得特定.gitlab-ci.yml
,我在下面给出了一个示例:
# TCR Compiling Job
TCR:
rules:
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "master"'
when: on_success
changes:
- tcr/**/*
- if: '$CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_BRANCH == "development"'
when: manual
changes:
- tcr/**/*
script:
- latexmk doc-operation-handbook-tcr.tex
artifacts:
name: "$CI_JOB_STAGE-$CI_COMMIT_REF_NAME"
paths:
- doc-operation-handbook.pdf
when: on_success
expire_in: 30 min
在上面的示例中,可以看出我有两个不同的规则; 一种供大师用,一种供开发用。 但是每当创建一个特性分支时,它都会尝试运行这个没有为该特性分支定义规则的管道。
有没有办法在创建功能分支时自动定义它? 就像使用$CI_COMMIT_BRANCH == "feature_branch"
类的东西。
注意:正确完成合并请求后,我的功能分支将被删除。
您可以在rules
定义中使用正则表达式。 例如:
rules:
# only for a ref that starts with "feature_branch_"
- if: '$CI_COMMIT_REF_NAME == /^feature_branch_[a-Z0-9\-\_].*$/'
when: always
# only for a tag ref that matches vX.Y.Z such as v1.5.2
- if: '$CI_COMMIT_REF_NAME == /^v\d\.\d\.\d$/'
when: manual
有关更多详细信息,请参阅rules:if
文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.