我有一个.gitlab-ci.yml文件说:
include:
- project: 'my-proj/my-gitlab-ci'
ref: master
file: '/pipeline/gitlab-ci.yml'
Run Code Online (Sandbox Code Playgroud)
由于一些“不便”,我想覆盖在gitlab-ci.yml注入我的顶级.gitlab-ci.yml文件的上述文件中定义的某些特定阶段。plan我感兴趣的阶段有以下内容:
plan-dummy:
stage: plan
script:
- terraform plan -lock=false -var-file=vars/vars.tfvars
Run Code Online (Sandbox Code Playgroud)
我想要做的是覆盖主.gitlab-ci.yml文件上的上述内容,以便仅将脚本作为覆盖执行:
plan-dummy:
stage: plan
script:
- terraform refresh # This is the line I want to add as an additional step before next
- terraform plan -lock=false -var-file=vars/dev.tfvars
Run Code Online (Sandbox Code Playgroud)
如何在不摆弄注入文件的情况下实现这一目标?是的,我知道替代方法是从子文件中进行脏复制粘贴,但我不想这样做。
问候,
mah*_*i_m 24
只需重复使用相同的作业名称并添加您需要的配置:
plan-dummy:
before_script:
- terraform refresh
Run Code Online (Sandbox Code Playgroud)
dan*_*elz -4
您可以在将在您之前执行的部分terraform refresh中执行以下操作:before_scriptscript
plan-dummy:
extends: plan-dummy
before_script:
- terraform refresh
Run Code Online (Sandbox Code Playgroud)