0

我喜欢这个 gitlab ci cd 配置文件:

image: docker:git

stages:  
  - develop
  - production
default:
  before_script:
    - apk update && apk upgrade && apk add git curl

deploy:
    stage: develop
    script: 
      - echo "Hello World"
  
backup:
    stage: develop    
    when:
      - manual
      - on_success

remove:
    stage: develop    
    when:
      - delayed
      - on_success
    start_in: 30 minutes

在我的情况下,作业deploy自动运行,作业backup必须在成功完成作业时手动运行deploy。但在我的情况下,这个配置不起作用,我收到错误消息:

在您的 中发现错误 .gitlab-ci.yml

工作:备份何时应该是以下之一:

  • on_success
  • on_failure
  • 总是
  • 手动的
  • 延迟

在我的情况下如何使用多个when选项参数?

4

1 回答 1

1

基本上你不能因为when不期望一个数组。您可以根据需要解决它。但是,只有在不同阶段运行作业时,此解决方案才有效。

image: docker:git

stages:  
  - deploy
  - backup
  - remove

deploy:develop:
  stage: deploy
  script: 
    - exit 1
  
backup:develop:
  stage: backup  
  script:
    - echo "backup"  
  when: manual
  needs: ["deploy:develop"]

remove:develop:
  stage: remove
  script:
    - echo "remove"    
  when: delayed
  needs: ["backup:develop"]
  start_in: 30 minutes
于 2021-05-28T12:09:35.720 回答