Last active
June 28, 2024 07:54
-
-
Save FeodorFitsner/0bd366055d8865251366 to your computer and use it in GitHub Desktop.
appveyor.yml reference
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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} | |
# you can use {branch} name in version format too | |
# version: 1.0.{build}-{branch} | |
# branches to build | |
branches: | |
# whitelist | |
only: | |
- master | |
- production | |
# blacklist | |
except: | |
- gh-pages | |
# Do not build on tags (GitHub and BitBucket) | |
skip_tags: true | |
# Start builds on tags only (GitHub and BitBucket) | |
skip_non_tags: true | |
# Skipping commits with particular message or from specific user | |
skip_commits: | |
message: /Created.*\.(png|jpg|jpeg|bmp|gif)/ # Regex for matching commit message | |
author: John # Commit author's username, name, email or regexp maching one of these. | |
# Including commits with particular message or from specific user | |
only_commits: | |
message: /build/ # Start a new build if message contains 'build' | |
author: [email protected] # Start a new build for commit of user with email [email protected] | |
# Skipping commits affecting specific files (GitHub only). More details here: https://www.appveyor.com/docs/appveyor-yml | |
#skip_commits: | |
# files: | |
# - docs/* | |
# - '**/*.html' | |
# Including commits affecting specific files (GitHub only). More details here: https://www.appveyor.com/docs/appveyor-yml | |
#only_commits: | |
# files: | |
# - Project-A/ | |
# - Project-B/ | |
#---------------------------------# | |
# environment configuration # | |
#---------------------------------# | |
# Build worker image (VM template) | |
image: Visual Studio 2015 | |
# scripts that are called at very beginning, before repo cloning | |
init: | |
- git config --global core.autocrlf input | |
# clone directory | |
clone_folder: c:\projects\myproject | |
# fetch repository as zip archive | |
shallow_clone: true # default is "false" | |
# set clone depth | |
clone_depth: 5 # clone entire repository history if not defined | |
# 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: x86 | |
configuration: Debug | |
- platform: x64 | |
configuration: Release | |
# build cache to preserve files/folders between builds | |
cache: | |
- packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified | |
- projectA\libs | |
- node_modules # local npm modules | |
- '%LocalAppData%\NuGet\Cache' | |
# enable service required for build/tests | |
services: | |
- mssql2014 # start SQL Server 2014 Express | |
- mssql2014rs # start SQL Server 2014 Express and Reporting Services | |
- mssql2012sp1 # start SQL Server 2012 SP1 Express | |
- mssql2012sp1rs # start SQL Server 2012 SP1 Express and Reporting Services | |
- mssql2008r2sp2 # start SQL Server 2008 R2 SP2 Express | |
- mssql2008r2sp2rs # start SQL Server 2008 R2 SP2 Express and Reporting Services | |
- mysql # start MySQL 5.6 service | |
- postgresql # start PostgreSQL 9.5 service | |
- iis # start IIS | |
- msmq # start Queuing services | |
- mongodb # start MongoDB | |
# 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 | |
# enable patching of AssemblyInfo.* files | |
assembly_info: | |
patch: true | |
file: AssemblyInfo.* | |
assembly_version: "2.2.{build}" | |
assembly_file_version: "{version}" | |
assembly_informational_version: "{version}" | |
# Automatically register private account and/or project AppVeyor NuGet feeds. | |
nuget: | |
account_feed: true | |
project_feed: true | |
disable_publish_on_pr: true # disable publishing of .nupkg artifacts to | |
# account/project feeds for pull request builds | |
#---------------------------------# | |
# build configuration # | |
#---------------------------------# | |
# build platform, i.e. x86, x64, Any CPU. This setting is optional. | |
platform: Any CPU | |
# to add several platforms to build matrix: | |
#platform: | |
# - x86 | |
# - 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 # | |
#---------------------------------# | |
test: | |
assemblies: | |
- asm1.dll | |
- asm2.dll | |
categories: | |
- 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' | |
#---------------------------------# | |
# deployment configuration # | |
#---------------------------------# | |
# providers: Local, FTP, WebDeploy, AzureCS, AzureBlob, S3, NuGet, Environment | |
# provider names are case-sensitive! | |
deploy: | |
# FTP deployment provider settings | |
- provider: FTP | |
protocol: ftp|ftps|sftp | |
host: ftp.myserver.com | |
username: admin | |
password: | |
secure: eYKZKFkkEvFYWX6NfjZIVw== | |
folder: | |
application: | |
active_mode: false | |
beta: true # enable alternative FTP library for 'ftp' and 'ftps' modes | |
debug: true # show complete FTP log | |
# Amazon S3 deployment provider settings | |
- provider: S3 | |
access_key_id: | |
secure: ABcd== | |
secret_access_key: | |
secure: ABcd== | |
bucket: my_bucket | |
folder: | |
artifact: | |
set_public: false | |
# Azure Blob storage deployment provider settings | |
- provider: AzureBlob | |
storage_account_name: | |
secure: ABcd== | |
storage_access_key: | |
secure: ABcd== | |
container: my_container | |
folder: | |
artifact: | |
# Web Deploy deployment provider settings | |
- provider: WebDeploy | |
server: http://www.deploy.com/myendpoint | |
website: mywebsite | |
username: user | |
password: | |
secure: eYKZKFkkEvFYWX6NfjZIVw== | |
ntlm: false | |
remove_files: false | |
app_offline: false | |
do_not_use_checksum: true # do not use check sum for comparing source and destination files. By default checksums are used. | |
sync_retry_attempts: 2 # sync attempts, max | |
sync_retry_interval: 2000 # timeout between sync attempts, milliseconds | |
aspnet_core: true # artifact zip contains ASP.NET Core application | |
aspnet_core_force_restart: true # poke app's web.config before deploy to force application restart | |
skip_dirs: \\App_Data | |
skip_files: web.config | |
on: | |
branch: release | |
platform: x86 | |
configuration: debug | |
# Deploying to Azure Cloud Service | |
- provider: AzureCS | |
subscription_id: | |
secure: fjZIVw== | |
subscription_certificate: | |
secure: eYKZKFkkEv...FYWX6NfjZIVw== | |
storage_account_name: my_storage | |
storage_access_key: | |
secure: ABcd== | |
service: my_service | |
slot: Production | |
target_profile: Cloud | |
artifact: MyPackage.cspkg | |
# Deploying to NuGet feed | |
- provider: NuGet | |
server: https://my.nuget.server/feed | |
api_key: | |
secure: FYWX6NfjZIVw== | |
skip_symbols: false | |
symbol_server: https://your.symbol.server/feed | |
artifact: MyPackage.nupkg | |
# Deploy to GitHub Releases | |
- provider: GitHub | |
artifact: /.*\.nupkg/ # upload all NuGet packages to release assets | |
draft: false | |
prerelease: false | |
on: | |
branch: master # release from master branch only | |
appveyor_repo_tag: true # deploy on tag push only | |
# Deploying to a named environment | |
- provider: Environment | |
name: staging | |
on: | |
branch: staging | |
env_var1: value1 | |
env_var2: value2 | |
# scripts to run before deployment | |
before_deploy: | |
# scripts to run after deployment | |
after_deploy: | |
# to run your custom scripts instead of provider deployments | |
deploy_script: | |
# to disable deployment | |
#deploy: off | |
#---------------------------------# | |
# global handlers # | |
#---------------------------------# | |
# on successful build | |
on_success: | |
- do something | |
# on build failure | |
on_failure: | |
- do something | |
# after build failure or success | |
on_finish: | |
- do something | |
#---------------------------------# | |
# notifications # | |
#---------------------------------# | |
notifications: | |
- provider: Email | |
to: | |
- [email protected] | |
- [email protected] | |
subject: 'Build {{status}}' # optional | |
message: "{{message}}, {{commitId}}, ..." # optional | |
on_build_status_changed: true | |
# HipChat | |
- provider: HipChat | |
auth_token: | |
secure: RbOnSMSFKYzxzFRrxM1+XA== | |
room: ProjectA | |
template: "{message}, {commitId}, ..." | |
# Slack | |
- provider: Slack | |
incoming_webhook: http://incoming-webhook-url | |
# ...or using auth token | |
- provider: Slack | |
auth_token: | |
secure: kBl9BlxvRMr9liHmnBs14A== | |
channel: development | |
template: "{message}, {commitId}, ..." | |
# Campfire | |
- provider: Campfire | |
account: appveyor | |
auth_token: | |
secure: RifLRG8Vfyol+sNhj9u2JA== | |
room: ProjectA | |
template: "{message}, {commitId}, ..." | |
# Webhook | |
- provider: Webhook | |
url: http://www.myhook2.com | |
headers: | |
User-Agent: myapp 1.0 | |
Authorization: | |
secure: GhD+5xhLz/tkYY6AO3fcfQ== | |
on_build_success: false | |
on_build_failure: true | |
on_build_status_changed: true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The percent sign needs wrapped in quotes in the
cache
block, e.g.: