是否可以有多个 appveyor.yml 配置?

Is it possible to have multiple appveyor.yml configurations?

在我们的项目存储库中,我们有一个 appveyor.yml 是为我们的 .NET Web 应用程序设置的(​​包括程序集修补、nuget 恢复等)。如果一切顺利,我们的应用程序将部署到暂存和生产环境中。 .NET 解决方案位于 repo/src/.

在同一个存储库中,我们还在 repo/frontend/ 中创建了 HTML 模板。我们想将这些 HTML 文件部署到 FTP 主机。此 Frontend configuration 应在其他配置之前 运行,但在未创建 .NET 解决方案时在 assembly_infonuget restore 上逻辑上失败。

是否可以创建一个 appveyor 配置,它可以将我们的前端配置部署到 FTP 并在 .NET 解决方案可用时选择性地继续调试和发布配置?

到目前为止我们的配置文件:

version: 1.0.0.{build}

branches:
  only:
  - develop
  - /release\/\d+.\d+.\d+/
  - master

image: Visual Studio 2015

matrix:
  fast_finish: true     # set this flag to immediately finish build once one of the jobs fails.
  allow_failures:
    - platform: x86
      configuration: Debug
    - platform: x86
      configuration: Release

assembly_info:
  patch: true
  file: AssemblyInfo.*
  assembly_version: "{version}"
  assembly_file_version: "{version}"
  assembly_informational_version: "{version}"

nuget:
  account_feed: true

configuration:
  - Frontend
  - Debug
  - Release

build:
  publish_wap: true
  verbosity: minimal

before_build:
  - cmd: nuget restore src\ProjectName.Web.sln

test: off

artifacts:
  - path: frontend/dist/
    name: frontenddist

deploy:
  - provider: FTP
    host: 0.0.0.0
    protocol: ftp
    username: username
    password:
      secure: password
    folder: frontend-test
    application: frontenddist
    beta: true
    on:
      branch: develop
      configuration: frontend
  - provider: Environment
    name: ProjectName.Development
    remove_files: true
    on:
      branch: develop
      configuration: debug
  - provider: Environment
    name: ProjectName.Production
    remove_files: false
    on:
      branch: master
      configuration: release

notifications:
  - provider: Slack
    incoming_webhook: # removed for Whosebug example
    on_build_success: true
    on_build_failure: true
    on_build_status_changed: false

AppVeyor forum discussion

中回答