Gitlab-ci 如何仅在前一阶段成功后才触发清理作业而忽略所有其他阶段状态
Gitlab-ci How can I trigger a cleanup job only after previous stage succeeded disregarding all other stages status
我需要创建一个 CI 来擦除在前一阶段创建的虚拟机 仅当前一阶段成功时。
如果我在以下情况下使用:on_success - 只有在所有阶段都通过时才有效。
阶段:
- 准备(2 个职位)
- 建立(5 个职位)
- 测试(5 个职位)
- 清理
我希望在所有 5 个测试作业都通过时进行清理,即使我在构建阶段的作业失败也是如此。
使用需求关键词
https://docs.gitlab.com/ee/ci/yaml/#needs
vm:build:
stage: build
script: echo "Building vm..."
test_1:
stage: test
script: echo "test_1"
test_2:
stage: test
script: echo "test_2"
test_3:
stage: test
script: echo "test_3"
cleanup:
stage: cleanup
needs: ["test_1", "test_2", "test_3"]
script: echo "clea"
我需要创建一个 CI 来擦除在前一阶段创建的虚拟机 仅当前一阶段成功时。 如果我在以下情况下使用:on_success - 只有在所有阶段都通过时才有效。
阶段:
- 准备(2 个职位)
- 建立(5 个职位)
- 测试(5 个职位)
- 清理
我希望在所有 5 个测试作业都通过时进行清理,即使我在构建阶段的作业失败也是如此。
使用需求关键词 https://docs.gitlab.com/ee/ci/yaml/#needs
vm:build:
stage: build
script: echo "Building vm..."
test_1:
stage: test
script: echo "test_1"
test_2:
stage: test
script: echo "test_2"
test_3:
stage: test
script: echo "test_3"
cleanup:
stage: cleanup
needs: ["test_1", "test_2", "test_3"]
script: echo "clea"