如果其他两个阶段中的一个完成,则在gitlab-ci中创建一个阶段

时间:2018-03-28 15:16:13

标签: gitlab gitlab-ci terraform gitlab-ci-runner

我有一个管道,当代码被推送到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

0 个答案:

没有答案