如何解决Gitlab CI/CD:在条件下使用多个
我喜欢这个 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
中发现错误:
jobs:backup when 应该是以下之一:
- on_success
- on_failure
- 总是
- 手册
- 延迟
在我的情况下如何使用多个 when
选项参数?
解决方法
基本上你不能,因为 when
不需要数组。您可以使用 needs 解决它。但此解决方案仅在您在不同阶段运行作业时才有效。
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。