Gitlab-ci 如何仅在前一阶段成功后才触发清理作业而忽略所有其他阶段状态

Gitlab-ci How can I trigger a cleanup job only after previous stage succeeded disregarding all other stages status

我需要创建一个 CI 来擦除在前一阶段创建的虚拟机 仅当前一阶段成功时。 如果我在以下情况下使用:on_success - 只有在所有阶段都通过时才有效。

阶段:

我希望在所有 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"