仅在开发分支上进行测试/构建提交 - CircleCI

时间:2016-05-30 18:11:13

标签: continuous-integration continuous-deployment circleci

我正在尝试为我的AngularJS项目设置CircleCI。我想我已经做好了一切,但是有一些问题。

  1. 当在功能分支(除了develop或master之外的任何东西)上推送提交时,我不想运行测试,并且绝对不会创建构建。
  2. 当为开发分支创建PR时,我希望测试此PR。
  3. 当合并PR时,或者如果在开发分支上进行其他直接提交,我希望创建一个新的构建&展开。
  4. 问题在于,第一点,此时任何分支上的每次提交都会触发测试,而这根本就不需要。

    我在circle.yml中尝试了这个但是这也阻止了PR对开发分支进行测试似乎:

    general:
      branches:
        only:
          - develop
    

    那么我怎样才能让Circle以我想要的方式行事?或者我应该删除上面的配置并让它测试每个分支上的每个提交?

1 个答案:

答案 0 :(得分:1)

当在github中创建PR时,构成pull请求的提交仍然是其原始分支的一部分,而不是新分支,这意味着Circle将执行的任何测试将作为原始分支的一部分发生,您隐式地列入黑名单。合并的PR应该肯定会触发新的构建,因为合并的PR会导致新的提交SHA并触发CircleCI。如果您希望在制作PR时运行测试,则需要更改circle.yml文件以允许您从中创建PR的分支。

获得此行为的另一种方法是在分支白名单中使用正则表达式匹配,这样任何以pr-开头的分支名称都将正常构建,然后从{{1分支。你只需要添加:

pr-