Gitlab CI/CD:在条件满足时使用多个
我喜欢这个gitlab ci cd配置文件:Gitlab CI/CD:在条件满足时使用多个,gitlab,devops,gitlab-ci,gitlab-api,cicd,Gitlab,Devops,Gitlab Ci,Gitlab Api,Cicd,我喜欢这个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"
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
中发现错误:
作业:备份时间应为以下时间之一:
- 论成功
- 论失败
- 总是
- 手册
- 耽搁
在我的例子中,如何使用多个
when
选项参数?基本上不能,因为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