gitlab-ci.yml 仅在 master 分支上

Pet*_*rum 8 gitlab

我有一个像这样的 gitlab-ci.yml 文件,并且只想在 Branch Master 上运行它。如果有推送到开发分支,则管道不应启动

我尝试使用“only”关键字,但它显示错误。

stages:
  - info
  - build
  - test
  - review
  - cleanup
  - deploy-dev
  - integration-test
  - deploy-test
  - system-test
  - deploy-production

only:
  refs:
    - master
Run Code Online (Sandbox Code Playgroud)

Gui*_*ard 14

要为每个阶段定义触发规则,您可以使用工作流关键字,如下所示:

    workflow:
      rules:
        - if: $CI_COMMIT_TAG
          when: never
        - if: $CI_COMMIT_BRANCH == 'master'
Run Code Online (Sandbox Code Playgroud)

这必须位于 yaml 的“根”上,因为它不是任何特定作业的一部分。

在上面的示例中,我告诉管道避免在推送存储库标签时运行,并且仅在主分支中完成提交时运行。

您可以以此为基础并添加其他条件来触发管道中的各个阶段,有关此问题的完整文档可以在此处找到:https ://docs.gitlab.com/ee/ci/yaml/#workflow