[英]Trigger Gitlab-CI Pipeline only when there is a new tag
我有以下gitlab-ci conf。 文件:
before_script:
- echo %CI_BUILD_REF%
- echo %CI_PROJECT_DIR%
stages:
- createPBLs
- build
- package
create PBLs:
stage: createPBLs
script:
- xcopy /y /s "%CI_PROJECT_DIR%" "C:\Bauen\"
- cd "C:\Bauen\"
- ./run_orcascript.cmd
build:
stage: build
script:
- cd "C:\Bauen\"
- ./run_pbc.cmd
except:
- master
build_master:
stage: build
script:
- cd "C:\Bauen\"
- ./run_pbcm.cmd
only:
- master
package:
stage: package
script:
- cd "C:\Bauen\"
- ./cpfiles.cmd
artifacts:
expire_in: 1 week
name: "%CI_COMMIT_REF_NAME%"
paths:
- GitLab-Build
如果将新标记添加到分支,如何添加管道将仅触发的规则? 标签应以“Ticket / ticket_”开头
目前他正在为每一次推动而努力。
您只需要使用语法:
only:
- tags
这将触发任何Tag
被推送。 如果你想更具体一点,你可以这样做:
only:
- /Ticket\/ticket\_.*/
这将使用Ticket/ticket_
标签进行任何推送。
我建议使用提交在varibles-expression
使用pattern
例
build_api:
stage: build
script:
- docker build --pull -t $CONTAINER_TEST_IMAGE .
- docker push $CONTAINER_TEST_IMAGE
only:
variables:
- $CI_COMMIT_MESSAGE =~ /(\[pipeline\]|(merge))/
在这里我说only
在[管道]或在提交内合并 only
执行该作业。 更多信息,这里是gitlab
下面可能更具可读性,请参阅:varibles @ gitlab-ci docs with refs:tags
only:
refs:
- tags
variables:
- $CI_COMMIT_TAG =~ /^[Tt]icket-.*/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.