Hen*_*ouz 5 continuous-integration gitlab gitlab-ci
我有以下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
Run Code Online (Sandbox Code Playgroud)
如何添加仅在分支中添加了新标签后才触发管道的规则?标签应以“ Ticket / ticket_”开头
目前,他正在竭尽全力。
Lar*_*Cai 10
下面可能更具可读性,仅参见:variables@gitlab-ci 文档refs:tags
only:
refs:
- tags
variables:
- $CI_COMMIT_TAG =~ /^[Tt]icket-.*/
Run Code Online (Sandbox Code Playgroud)
您只需要使用语法:
only:
- tags
Run Code Online (Sandbox Code Playgroud)
这将触发任何Tag推送。如果您想更具体一点,可以执行以下操作:
only:
- /Ticket\/ticket\_.*/
Run Code Online (Sandbox Code Playgroud)
使用该Ticket/ticket_标签的任何推送都可以构建。
varibles-expression我建议在使用提交时使用模式
例子
build_api:
stage: build
script:
- docker build --pull -t $CONTAINER_TEST_IMAGE .
- docker push $CONTAINER_TEST_IMAGE
only:
variables:
- $CI_COMMIT_MESSAGE =~ /(\[pipeline\]|(merge))/
Run Code Online (Sandbox Code Playgroud)
在这里我说的是,当有[管道]或在提交内合并only时执行该作业。更多信息,请参见
gitlab
| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |