如何在不覆盖原有内容的情况下编辑导入的CI/CD作业属性
GitLab CI 追加作业before_script内容不覆盖原有配置的方法
要在不修改导入项目的前提下,给已导入的deploy_to_dev作业的before_script追加内容(开头或结尾),可以使用GitLab CI的!reference特殊指令(要求GitLab Runner版本≥13.9)。
开头追加自定义内容
在自定义命令后引用原有作业的before_script:
include: - project: "some-project" ref: master file: "some-project/.gitlab-ci.yml" deploy_to_dev: before_script: - echo "This should happen at the very beginning" - !reference [deploy_to_dev, before_script]
结尾追加自定义内容
先引用原有作业的before_script,再添加自定义命令:
include: - project: "some-project" ref: master file: "some-project/.gitlab-ci.yml" deploy_to_dev: before_script: - !reference [deploy_to_dev, before_script] - echo "This should happen at the end"
原理说明
!reference [作业名, 字段名]会直接引用导入作业中对应字段的所有内容,相当于把原有before_script的命令列表合并到当前配置里,从而实现追加效果,而非完全覆盖原有配置。
内容的提问来源于stack exchange,提问作者Steinn Hauser Magnússon
相关产品推荐
相关产品推荐

