GitLab CI/CD配置需求:仅REG1标签可执行任务,其他标签需触发失败
解决GitLab流水线仅允许REG1标签正常执行的配置方案
修改后的.gitlab-ci.yml配置
image: maven:3.3.9-jdk-8 cache: paths: - .m2/repository stages: - test cucumber_test: stage: test tags: [regression, sanity] script: - | # 校验Tag值是否为REG1,非REG1直接终止任务并报错 if [ "$Tag" != "REG1" ]; then echo "错误:仅支持Tag值为REG1,当前Tag值为: $Tag" exit 1 fi - mvn "clean" "test" "-Dcucumber.filter.tags=@%Tag%" artifacts: when: always paths: - Report
关键修改说明
- 移除原有错误的rules配置:原配置中
rules的逻辑会导致所有Tag都能触发任务执行,且REG1标签下任务失败也不会终止流水线,与需求完全不符。 - 添加Tag值校验逻辑:在
script开头加入Shell判断,若Tag值不等于REG1,直接输出错误信息并以非零状态码退出,强制任务失败。 - 保留核心流程配置:保留镜像、缓存、阶段、Runner标签及产物配置,确保REG1标签下的回归测试流程正常执行。
配置完成后,只有当Tag值为REG1时,才会执行Maven测试命令;输入其他Tag值时,任务会在第一步校验环节直接失败终止。
内容的提问来源于stack exchange,提问作者gaurav kumar
相关产品推荐
相关产品推荐

