合并到master后如何自动修改gitlab-ci.yml中include的ref为master?
解决方案
你可以直接使用CI/CD流水线内置的预设变量替代硬编码的分支名,无需手动修改配置即可实现自动适配当前运行分支:
- 把配置中
ref字段的固定值替换为$CI_COMMIT_REF_NAME,该变量会自动返回当前流水线运行所在的分支名称
修改后的配置如下:
include: project: my-project ref: $CI_COMMIT_REF_NAME file: common.yml
适配逻辑说明
- 分支还未合并到master时,流水线运行在
test_branch上,变量值为test_branch,会正常拉取该分支下的common.yml文件 - 分支合并到master后,master分支的流水线运行时变量值自动变为
master,会自动拉取master分支下的common.yml文件
如果你的需求是合并后直接把配置里的ref固定写死为master,可以配置合并后自动化执行脚本,匹配到yaml中的ref字段替换为master后提交,不过上述变量方案更灵活,无需额外开发自动化逻辑。
内容的提问来源于stack exchange,提问作者Captain
相关产品推荐
相关产品推荐

