CircleCI 过滤拉取请求

Coo*_*oop 5 git continuous-integration github git-flow circleci

我有一个像这样的 Gitflow 分支结构:

  • 主控(默认)
    • 发展
    • 功能/标题

我正在使用 CircleCI 并启用“仅构建拉取请求”功能。启用此功能后,它将构建所有拉取请求并始终构建默认分支。所以会发生以下情况:

  • 创建的 PR 用于feature/header运行developCircleCI 测试
  • develop合并后,来自into的 PRmaster也运行 CircleCI 测试
  • 合并后,会触发完整的 CircleCI 构建和部署,因为它master是默认分支

我的问题是我想develop成为我的默认分支,因为在 Gitflow 中创建的 99% 的 PR 都会进入develop. 有没有办法禁用“仅构建拉取请求”并过滤工作流程以在 CircleCIconfig.yml文件中的拉取请求上运行?

我的工作流程之一如下所示(已按分支过滤):

deploy_qa:
    jobs:
        - checkout:
            filters:
                branches:
                    only: master
        - dependencies_production:
            requires:
                - checkout
        - build_production:
            requires:
                - dependencies_production
        - deploy_qa:
            requires:
                - build_production
        - restart_qa:
            requires:
                - deploy_qa
Run Code Online (Sandbox Code Playgroud)

Fel*_*ech 1

不,那里没有。

如果您希望“develop”成为您的默认分支,则需要在存储默认分支的 GitHub 上进行更改。

否则,只需建立分支。总是建立分支机构并没有坏处。这是更多的测试,这很好。如果需要,您可以在构建开始时检查它是否是 PR,如果不是,则退出构建。

  • CircleCI 似乎无法与最常见的分支模型之一很好地配合,这是一种耻辱。您将如何测试构建是否是 PR? (3认同)