# Notes: # - Minimal appveyor.yml file is an empty file. All sections are optional. # - Indent each level of configuration with 2 spaces. Do not use tabs! # - All section names are case-sensitive. # - Section names should be unique on each level. #---------------------------------# # general configuration # #---------------------------------# # version format version: 1.0.{build}-{branch} branches: # whitelist #only: # - master # - production # blacklist except: - gh-pages # Do not build on tags (GitHub and BitBucket) skip_tags: true # Skipping commits with particular message or from specific user skip_commits: message: /.*nobuild.*/ # skips any commit containing "nobuild" in the message # Do not build feature branch with open Pull Requests skip_branch_with_pr: true # Maximum number of concurrent jobs for the project max_jobs: 2 #---------------------------------# # environment configuration # #---------------------------------# # Build worker image (VM template) image: Visual Studio 2017 # scripts that are called at very beginning, before repo cloning init: - git config --global core.autocrlf input # clone directory clone_folder: c:\projects\myproject # setting up etc\hosts file hosts: queue-server: 127.0.0.1 db.server.com: 127.0.0.2 # environment variables environment: my_var1: value1 my_var2: value2 # this is how to set encrypted variable. Go to "Encrypt data" page in account menu to encrypt data. my_secure_var1: secure: FW3tJ3fMncxvs58/ifSP7w== # environment: # global: # connection_string: server=12;password=13; # service_url: https://127.0.0.1:8090 # # matrix: # - db: mysql # provider: mysql # # - db: mssql # provider: mssql # password: # secure: $#(JFDA)jQ@#$ # this is how to allow failing jobs in the matrix matrix: fast_finish: true # set this flag to immediately finish build once one of the jobs fails. allow_failures: - platform: ARM configuration: Debug - platform: x64 configuration: Release # exclude configuration from the matrix. Works similarly to 'allow_failures' but build not even being started for excluded combination. exclude: - platform: x86 configuration: Debug # scripts that run after cloning repository install: # by default, all script lines are interpreted as batch - echo This is batch # to run script as a PowerShell command prepend it with ps: - ps: Write-Host 'This is PowerShell' # batch commands start from cmd: - cmd: echo This is batch again - cmd: set MY_VAR=12345 #---------------------------------# # build configuration # #---------------------------------# # build platform platform: - x86 - x64 - ARM - Any CPU # build Configuration, i.e. Debug, Release, etc. configuration: Release # to add several configurations to build matrix: #configuration: # - Debug # - Release build: parallel: true # enable MSBuild parallel builds project: MyTestAzureCS.sln # path to Visual Studio solution or project publish_wap: true # package Web Application Projects (WAP) for Web Deploy publish_wap_xcopy: true # package Web Application Projects (WAP) for XCopy deployment publish_azure: true # package Azure Cloud Service projects and push to artifacts publish_nuget: true # package projects with .nuspec files and push to artifacts publish_nuget_symbols: true # generate and publish NuGet symbol packages include_nuget_references: true # add -IncludeReferencedProjects option while packaging NuGet artifacts # MSBuild verbosity level verbosity: quiet|minimal|normal|detailed # scripts to run before build before_build: # scripts to run *after* solution is built and *before* automatic packaging occurs (web apps, NuGet packages, Azure Cloud Services) before_package: # scripts to run after build after_build: # to run your custom scripts instead of automatic MSBuild build_script: # to disable automatic builds #build: off #---------------------------------# # tests configuration # #---------------------------------# # to run tests again only selected assemblies and/or categories test: assemblies: only: - asm1.dll - asm2.dll categories: only: - UI - E2E # to run tests again all except selected assemblies and/or categories #test: # assemblies: # except: # - asm1.dll # - asm2.dll # # categories: # except: # - UI # - E2E # to run tests from different categories as separate jobs in parallel test: categories: - A # A category common for all jobs # - [UI] # 1st job # - [DAL, BL] # 2nd job # scripts to run before tests #before_test: # - echo script1 # - ps: Write-Host "script1" # # scripts to run after tests #after_test: # to run your custom scripts instead of automatic tests #test_script: # - echo This is my custom test script # to disable automatic tests #test: off #---------------------------------# # artifacts configuration # #---------------------------------# artifacts: # pushing a single file - path: test.zip # pushing a single file with environment variable in path and "Deployment name" specified - path: MyProject\bin\$(configuration) name: myapp # pushing entire folder as a zip archive - path: logs # pushing all *.nupkg files in build directory recursively - path: '**\*.nupkg'