我在用gitlab-ci。我有一个管道,它有以下步骤:
部署和回滚作业都必须手动启动,这意味着我在gitlab-ci.yml文件中使用了when: manual。
但是,我也希望回滚是可能的,即使步骤/作业以前已经失败过(例如,错误的部署或“更多测试”阶段的失败)。
我正在考虑使用when: always,但是由于我已经在使用when: manual,所以它不起作用(我试过了)。
现在,我只是将“更多的测试”和“回滚”放在同一个阶段,这样一个测试的失败不会影响另一个测试。但还有别的办法吗?
我真的希望所有的东西都在同一个管道中(所以没有触发器),并且总是有可能启动回滚作业。不管以前发生了什么。
发布于 2021-05-05 21:42:55
您可以使用when: on_failure,在您的情况下,您可以在some more tests失败时创建一个用于回滚的新作业。
cleanup_build_job:
stage: cleanup_build
script:
- cleanup build when failed
when: on_failurehttps://devops.stackexchange.com/questions/11897
复制相似问题