Я пытаюсь создать в CircleCI задание, которое будет выполняться автоматически или нет в зависимости от результата команды.
- Если с
terraform plan
есть нулевой код выхода, то изменений нет, и я бы хотел, чтобы задание завершилось и автоматически перейти к следующему шагу.
- Если есть какие-либо изменения, команда вернет ненулевой код выхода, и я хочу, чтобы CircleCI запросил подтверждение, прежде чем перейти к следующему шагу.
Есть ли способ сделать это?
У меня есть следующее, которое, кажется, правильно ветвится в зависимости от результата плана (и кодов выхода), но я не уверен, как остановить вещи, или если это вообще возможно в CircleCI.
SomeJob:
steps:
- run:
name: Plan Terraform
command: |
cd ./bin
planresult=$(terraform plan)
if [[ $? != 0 ]]; then
exit 2
else
exit 0
fi
- when:
condition: on_fail
steps:
- run:
# SOME APPROVAL STEP HERE
- run:
# This is the step that needs to be automated
# or not depending on the last one
Заранее спасибо.