【问题标题】:GitLab run pipeline only manually and not automaticallyGitLab 仅手动而不是自动运行管道
【发布时间】:2021-02-09 21:30:45
【问题描述】:

我的 GitLab 管道在每次推送时自动执行,我想手动运行管道而不是每次推送。

管道文档:https://docs.gitlab.com/ee/ci/yaml/#workflowrules

我试过这个 .gitlab-ci.yml

workflow:
  rules:
    - when: manual    # Error: workflow:rules:rule when unknown value: manual

【问题讨论】:

    标签: gitlab gitlab-ci gitlab-ci-runner


    【解决方案1】:

    我们可以将您的作业定义为仅在 Gitlab 上执行。 Web 选项用于通过使用 GitLab UI 中的运行管道按钮从项目的 CI/CD > 管道部分创建的管道。

    only:
       - web
    

    【讨论】:

      【解决方案2】:

      如文档中所述,我认为您应该指定一个条件,告诉 Gitlab 不要专门针对这样的推送事件运行管道:

      workflow:
        rules:
          - if: '$CI_PIPELINE_SOURCE == "push"'
            when: never  # Prevent pipeline run for push event
          - when: always # Run pipeline for all other cases
      

      嗯,这一切都来自官方文档,但我希望这可以帮助你:)

      【讨论】:

      • 非常有帮助,谢谢!
      【解决方案3】:

      这是我想出的解决方案:

      workflow:
        rules:
          - if: '$CI_PIPELINE_SOURCE == "web"'
            when: always
          - when: never
      

      这指定它仅在您单击 Web UI 中的“运行管道”按钮时才会运行。在所有其他情况下,它不会被触发。

      【讨论】:

        猜你喜欢
        • 2021-12-07
        • 1970-01-01
        • 1970-01-01
        • 2018-05-19
        • 1970-01-01
        • 1970-01-01
        • 2021-01-23
        • 2020-09-10
        • 2022-01-03
        相关资源
        最近更新 更多