我有一个管道,当代码被推送到gitlab时会自动运行。有一个terraform应用步骤,我希望能够在一种情况下手动运行(资源销毁/重新创建),并自动在另一种情况下(资源只是添加或销毁。)我几乎得到了这个手动步骤,但无法看到如何在安全的情况下让管道自动化。手动terraform apply步骤不会是最后一步。
如果步骤A完成或步骤B完成,是否可以说'执行步骤C'?管道的那种分支?或者我可以用两个管道来做,一个中的失败会触发另一个吗?
此处的当前部分测试代码(gitlab CI yaml):
# stop with a warning if resources will be created and destroyed
check:
stage: check
script:
- ./terraformCheck.sh
allow_failure: true
# Apply changes manually, whether there is a warning or not
override:
stage: deploy
environment:
name: production
script:
- ./terraformApply.sh
dependencies:
- plan
when: manual
allow_failure: false
only:
- master
log:
stage: log
environment:
name: production
script:
- ./terraformLog.sh
when: always
only:
- master