【问题标题】:CircleCI filter pull requestsCircleCI 过滤拉取请求
【发布时间】:2019-07-08 18:32:19
【问题描述】:

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

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

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

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

我的问题是我希望 develop 成为我的默认分支,因为在 Gitflow 中创建的 99% 的 PR 都进入了 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

【问题讨论】:

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


    【解决方案1】:

    没有。

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

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

    【讨论】:

    • CircleCI 似乎没有设置好与当时最常见的分支模型之一一起工作,这是一种耻辱。你将如何测试构建是否是 PR?
    猜你喜欢
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 2014-04-30
    • 2020-08-12
    • 1970-01-01
    相关资源
    最近更新 更多