将GitLab CI配置为仅对特定标记运行测试

将GitLab CI配置为仅对特定标记运行测试,gitlab,gitlab-ci,Gitlab,Gitlab Ci,对于托管在GitLab上的Python项目,我配置了一个CI构建,如下所示。对于每次推送,CI构建都会运行测试套件、样式检查并构建文档。当分支合并为master时,CI构建将执行额外的步骤,将构建的文档推送到GitLab页面的托管站点 我想将另一个作业配置为仅在名称中包含rc的发布候选git标记上执行。其中包括对if:$CI\u COMMIT\u标记的几处引用,但我很难理解如何将它们放在一起 在脚本之前: -apt获取更新-qy -apt获取安装-y。。。 -pip3安装。。。 -pip3安装

对于托管在GitLab上的Python项目,我配置了一个CI构建,如下所示。对于每次推送,CI构建都会运行测试套件、样式检查并构建文档。当分支合并为master时,CI构建将执行额外的步骤,将构建的文档推送到GitLab页面的托管站点

我想将另一个作业配置为仅在名称中包含
rc
的发布候选git标记上执行。其中包括对
if:$CI\u COMMIT\u标记的几处引用,但我很难理解如何将它们放在一起


在脚本之前:
-apt获取更新-qy
-apt获取安装-y。。。
-pip3安装。。。
-pip3安装—无deps—忽略已安装。
测试:
阶段:测试
脚本:
-测验
-制造风格
-做医生
页:
阶段:部署
脚本:
-apt获取更新-qy
-apt获取安装-y。。。
-pip3安装。。。
-pip3安装—无deps—忽略已安装。
-sphinx构建-b html文档/公共
人工产品:
路径:
-公开的
仅:
-主人

更新/解决方案

根据@danielnelz的回答,我能够想出以下可行的解决方案

在脚本之前:
-apt获取更新-qy
-apt获取安装-y。。。
-pip3安装。。。
-pip3安装—无deps—忽略已安装。
测试:
阶段:测试
脚本:
-测验
-制造风格
-做医生
预发布:
阶段:测试
规则:
-如果:“$CI\u COMMIT\u标记=~/rc/”
脚本:
-做测试
页:
阶段:部署
脚本:
-sphinx构建-b html文档/公共
人工产品:
路径:
-公开的
仅:
-主人

您可以检查预定义的
$CI\u COMMIT\u标记
是否在子句中包含rc:

release:
  stage: release
  script:
    - do release
  rules:
    - if: '$CI_COMMIT_TAG =~ /rc/'