如何通过指定格式标签触发GitLab CI/CD流水线及对应正则编写方法
GitLab CI/CD 匹配指定格式标签触发流水线方案
触发规则配置方法
直接在项目根目录的.gitlab-ci.yml文件中配置规则即可,你可以选择配置全局流水线触发规则,或者单独给某个job配置触发规则。
对应标签的正则表达式
宽松匹配规则(只要包含固定关键词即可)
如果只要标签中包含固定的.DEVRELEASE.结构就触发,用这个正则:/^.*\.DEVRELEASE\..*$/
严格匹配规则(完全对齐示例格式)
如果要求标签必须和示例格式完全一致,前缀是年.月.日格式,后缀是纯数字,用这个更精确的正则:/^\d{4}\.\d{2}\.\d{2}\.DEVRELEASE\.\d+$/
配置示例
# 示例1:全局配置,只有符合标签格式才运行整个流水线 workflow: rules: - if: $CI_COMMIT_TAG =~ /^.*\.DEVRELEASE\..*$/ when: always - when: never # 其他情况不运行流水线,不需要可以删掉这行 # 示例2:单独给发布job配置触发规则,其他job不受影响 dev_release: stage: deploy script: - echo "开始执行开发版本发布逻辑" # 这里写你实际的发布命令 rules: - if: $CI_COMMIT_TAG =~ /^\d{4}\.\d{2}\.\d{2}\.DEVRELEASE\.\d+$/ when: on_success
补充说明
- GitLab CI的内置变量
$CI_COMMIT_TAG会存储当前提交对应的标签值,=~是GitLab CI提供的正则匹配运算符 - 两种正则可以根据你的实际业务需求选择,也可以自行修改正则调整匹配的颗粒度
内容的提问来源于stack exchange,提问作者Sushil.R
相关产品推荐
相关产品推荐

