等待阶段之间的自定义时间

Waiting custom time between stages

我希望“验证”阶段不开始 运行 在“测试”阶段完成后,我希望“验证”阶段开始 运行 X 分钟后“测试”完成。

stages:
  - configure-site
  - test
  - verify

您可以在“测试”和“验证”阶段之间添加一个新阶段。该阶段可以简单地以秒为单位执行给定时间的“睡眠”命令。

否则,您可以将睡眠命令添加到“测试”作业的末尾。

请注意,默认情况下作业不能 运行 超过 60 分钟 (docs)。

stages:
  - configure-site
  - test
  - wait
  - verify

configure-site:
  stage: configure-site
  ...

test:
  stage: test
  needs:
    - "configure-site"
  ...

wait:
  stage: wait
  needs:
    - "test"
  script:
    - sleep 600

verify:
  stage: verify
  needs:
    - "wait"
  ...

但是,正如对您问题的评论已经指出的那样,我倾向于修改您的工作流程以在发布完成时提醒 CI,而不是仅仅等待指定的时间。我认为,“测试”工作应该自动等待,直到一切都真正完成,而不是开始一些过程并在不知道过程是否真的成功的情况下返回某种成功。

否则,也许您可​​以使用外部状态检查来确保您的发布作业在测试后执行。您的外部作业可以在流程完成时调用 API (Gitlab collective article)。