GitLab CI only转rules:stage@仓库名语法解析与转换方法
GitLab CI: only 语法转 rules 方案解析
原语法的意义
stage@helloTeam/Expansion 是 GitLab CI 中精准限定作业运行范围的写法:
stage是目标分支名称@作为分隔符,后面的helloTeam/Expansion是项目的完整路径- 整句表示:
deploy-image作业仅在helloTeam/Expansion项目的stage分支触发的流水线中运行
转换为 rules 语法的实现
利用 GitLab 内置的预定义变量,可写出完全等价的 rules 规则:
deploy-image: stage: deploy rules: - if: '$CI_COMMIT_BRANCH == "stage" && $CI_PROJECT_PATH == "helloTeam/Expansion"' when: always
细节说明
CI_COMMIT_BRANCH自动获取当前流水线对应的分支名,CI_PROJECT_PATH对应当前项目的完整路径when: always确保满足条件时作业必然执行,和原only语法的行为完全一致
内容的提问来源于stack exchange,提问作者Arctick
相关产品推荐
相关产品推荐

