Skip to content

Instantly share code, notes, and snippets.

@jamiehowarth0
Last active April 9, 2020 16:01
Show Gist options
  • Save jamiehowarth0/a418d9631c445f1f573fdc9058eeecd9 to your computer and use it in GitHub Desktop.
Save jamiehowarth0/a418d9631c445f1f573fdc9058eeecd9 to your computer and use it in GitHub Desktop.
Umbraco Azure Pipelines web deploy template. Add to your git repository, updated variable placeholders, and off you go!
# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4
trigger:
- master
- develop
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
# Put the name of your Azure Resource Manager connection that you configured in Azure Devops here
azureRmConnection: '<< NAME OF YOUR RESOURCE GROUP >>'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: AzureRmWebAppDeployment@4
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
inputs:
ConnectionType: 'AzureRM'
azureSubscription: '$(azureRmConnection)'
appType: 'webApp'
# Name of your production web app
WebAppName: '<< AZURE APP SERVICE NAME FOR YOUR PRODUCTION SITE >>'
packageForLinux: '$(build.artifactStagingDirectory)/**/*.zip'
enableCustomDeployment: true
DeploymentType: 'webDeploy'
ExcludeFilesFromAppDataFlag: false
- task: AzureRmWebAppDeployment@4
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))
inputs:
ConnectionType: 'AzureRM'
azureSubscription: '$(azureRmConnection)'
appType: 'webApp'
# Name of your staging web app
WebAppName: '<< AZURE APP SERVICE NAME FOR YOUR STAGING SITE >>'
packageForLinux: '$(build.artifactStagingDirectory)/**/*.zip'
enableCustomDeployment: true
DeploymentType: 'webDeploy'
ExcludeFilesFromAppDataFlag: false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment