我可以配置依赖于手动作业的 gitlab CI 作业吗?

Lou*_*ron 6 gitlab gitlab-ci

当我这样做时:

job1:
  stage: build
  when: manual
  script:
    - daddaa

job1_deploy:
  stage: deploy
  dependencies: [job1]
  script:
    - do things to deploy
Run Code Online (Sandbox Code Playgroud)

它只是失败,因为job1_deploy即使job1没有手动启动,它也已启动。

有没有正确的方法来配置job1_deploy手动启动job1并通过时自动启动?

Rek*_*vni 3

听起来好像你想job1成为一个阻止手动动作。从文档中中:

\n\n
\n

如果要手动阻止操作,需要在 .gitlab-ci.yml 中的 job\xe2\x80\x99s 定义中添加\nallow_failure: false。

\n
\n\n

所以在你的情况下,这应该可以解决问题:

\n\n
job1:\n  stage: build\n  when: manual\n  allow_failure: false\n  script:\n    - daddaa\n\njob1_deploy:\n  stage: deploy\n  dependencies: [job1]\n  script:\n    - do things to deploy\n
Run Code Online (Sandbox Code Playgroud)\n

  • 实际上,我只想在特定场合手动启动这项工作,然后自动启动部署。我不希望它阻塞管道。 (4认同)