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

时间:2017-03-09 12:11:48

标签: visual-studio deployment configuration appveyor

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

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

是否可以创建一个可以将我们的前端配置部署到FTP的appveyor配置,并可选择在.NET解决方案可用时继续使用Debug和Release配置?

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

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 stackoverflow example
    on_build_success: true
    on_build_failure: true
    on_build_status_changed: false

1 个答案:

答案 0 :(得分:1)