Continuous integration Appveyor为所有分支而不是指定分支生成

Continuous integration Appveyor为所有分支而不是指定分支生成,continuous-integration,continuous-deployment,appveyor,Continuous Integration,Continuous Deployment,Appveyor,目前,我们有三个独立的appveyor项目,每个项目对应于我们存储库中的每个分支 我们的问题如下: Appveyor忽略github分支上的我的过滤器。每次我们向master、stage或dev作出承诺时,它都基于所有三个项目,而不是我们承诺的单个项目 每个分支都有一个唯一的appveyor.yml文件,如下所示: 这是dev的appveyor.yml 当我们进行提交时,它建立在所有项目的基础上。有什么想法吗 这是因为每个项目都在GitHub上配置了Webhook,并且每次有人提交时,每个项目构

目前,我们有三个独立的appveyor项目,每个项目对应于我们存储库中的每个分支

我们的问题如下: Appveyor忽略github分支上的我的过滤器。每次我们向master、stage或dev作出承诺时,它都基于所有三个项目,而不是我们承诺的单个项目

每个分支都有一个唯一的appveyor.yml文件,如下所示:

这是dev的appveyor.yml

当我们进行提交时,它建立在所有项目的基础上。有什么想法吗


这是因为每个项目都在GitHub上配置了Webhook,并且每次有人提交时,每个项目构建都由Webhook触发。然后,无论为项目配置了哪个分支(该分支是手动/API构建的唯一默认分支),AppVeyor都会从执行提交的分支读取AppVeyor.yml

解决方案是使用或

使用可选的YAML文件名,您可以拥有类似appveyor-dev.yml、appveyor-stage.yml的文件,并将特定的appveyor项目设置为使用特定的文件。与备选YAML文件位置基本相同,但位于repo以外的其他位置。我个人更喜欢替代YAML文件位置,因为它可以减少重复和潜在的合并问题


在这两种情况下,当branch dev中的webhook进入项目阶段时,它仍然会读取appveyor-dev.yml并进行正确的筛选。

之所以会发生这种情况,是因为每个项目都在GitHub上配置了webhook,并且每次有人提交时,每个项目构建都会由webhook触发。然后,无论为项目配置了哪个分支(该分支是手动/API构建的唯一默认分支),AppVeyor都会从执行提交的分支读取AppVeyor.yml

解决方案是使用或

使用可选的YAML文件名,您可以拥有类似appveyor-dev.yml、appveyor-stage.yml的文件,并将特定的appveyor项目设置为使用特定的文件。与备选YAML文件位置基本相同,但位于repo以外的其他位置。我个人更喜欢替代YAML文件位置,因为它可以减少重复和潜在的合并问题


在这两种情况下,当say branch dev中的webhook进入项目阶段时,它仍然会读取appveyor-dev.yml并进行正确的筛选。

谢谢,我也选择了另一种YAML文件定位方式。工作起来很有魅力!谢谢,我也选择了另一种YAML文件定位方式。工作起来很有魅力!
version: 0.0.{build}
branches:
  only:
  - dev
image: Visual Studio 2017
configuration: dev
before_build:
  - nuget restore
build:
  project: Core.Api.sln
  publish_wap: true
  verbosity: minimal
build_script:
  - ps: .\build.ps1
after_build:
  - cmd: dotnet publish src\Core.Api --output %appveyor_build_folder%\dist
test: off
artifacts:
- path: dist
  name: dist.web
deploy:
...