【问题标题】:Run pipeline stages when only the predecessor stage is completed - gitlabci仅在前一阶段完成时运行管道阶段 - gitlab ci
【发布时间】:2020-07-16 02:30:01
【问题描述】:

我遇到了这种情况:

我在 gitlab-ci 管道中有 3 个阶段:

第一阶段旨在在主分支更改时触发并自动运行。

第二阶段只有在手动批准后才会运行,使用when: manual

现在,我想让第三阶段在第二阶段完成后自动运行。

我发现唯一有意义的是when: on_success,这是默认值。但是我没有得到想要的结果,因为第三阶段在第一阶段完成后立即运行(而第二阶段尚未手动批准)。

我怎样才能达到这个条件(第 3 阶段只有在第 2 阶段完成时才会触发)?

【问题讨论】:

    标签: continuous-integration gitlab devops gitlab-ci continuous-deployment


    【解决方案1】:

    出现这种行为是因为您的手动作业(第二阶段)没有 allow_failure: false

    gitlab ci 上的手动作业默认使用allow_failure: true https://docs.gitlab.com/ee/ci/yaml/#allow_failure

    如果您将值设置为false,则 gitlab ci 将不会继续,直到此作业成功完成

    【讨论】:

    • 有效!谢谢你。我想知道为什么默认为true。
    猜你喜欢
    • 2016-11-19
    • 2021-12-07
    • 2021-01-27
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 2019-11-15
    相关资源
    最近更新 更多