CircleCI过滤器拉取请求

时间:2019-02-14 16:52:19

标签: git github continuous-integration circleci git-flow

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

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

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

  • feature/header创建到运行CircleCI测试的develop的PR
  • 合并后,从developmaster的PR也运行CircleCI测试
  • 合并后,由于master是默认分支,因此触发了完整的CircleCI构建和部署

我的问题是我希望develop是我的默认分支,因为在Gitflow中创建的PR的99%都进入了develop。是否可以禁用CircleCI config.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

1 个答案:

答案 0 :(得分:0)

不,没有。

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

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