Deploy to an environment #5
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
name: Deploy to an environment | |
on: | |
workflow_dispatch: | |
inputs: | |
ENVIRONMENT_TO_DEPLOY: | |
description: | | |
Which environment to deploy? | |
required: true | |
type: choice | |
default: 'staging' | |
options: | |
- 'staging' | |
- 'production' | |
jobs: | |
build: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v1.3.1 | |
- name: Build DACPAC for deployment | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: msbuild /m /p:Configuration=Release /p:OutDir=".\ShowroomCMS\output" ".\ShowroomCMS" | |
deploy-to-au-staging: | |
name: Deploy to AU staging | |
if: github.event.inputs.ENVIRONMENT_TO_DEPLOY == 'staging' | |
runs-on: windows-latest | |
needs: [build] | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3.1 | |
- name: Deploy staging database | |
working-directory: C:\Program Files\Microsoft SQL Server\160\DAC\bin | |
run: ./SqlPackage.exe /Action:Publish /SourceFile:".\ShowroomCMS\output\ShowroomCMSDb.dacpac" /TargetServerName:"showroomcms.mssql.csstg.com.au" /TargetDatabaseName:"ShowroomCMS" /TargetUser:"showroomcms_admin" /TargetPassword:${{secrets.AU_STAGING_PASSWORD}} /Profile:".\ShowroomCMS\output\ShowroomCMSDb.publish.xml" | |
deploy-to-latam-staging: | |
name: Deploy to latam staging | |
if: github.event.inputs.ENVIRONMENT_TO_DEPLOY == 'staging' | |
runs-on: windows-latest | |
needs: [build] | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3.1 | |
- name: deploy staging database | |
working-directory: C:\Program Files\Microsoft SQL Server\160\DAC\bin | |
run: ./SqlPackage.exe /Action:Publish /SourceFile:".\ShowroomCMS\output\ShowroomCMSDb.dacpac" /TargetServerName:"showroomcms-latam.mssql.csstg.com.au" /TargetDatabaseName:"ShowroomCMS" /TargetUser:"showroomcms_admin" /TargetPassword:${{secrets.LATAM_STAGING_PASSWORD}} /Profile:".\ShowroomCMS\output\ShowroomCMSDb.publish.xml" | |
deploy-to-au-production: | |
name: Deploy to AU Production | |
if: github.event.inputs.ENVIRONMENT_TO_DEPLOY == 'production' | |
runs-on: windows-latest | |
needs: [build] | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3.1 | |
- name: deploy staging database | |
working-directory: C:\Program Files\Microsoft SQL Server\160\DAC\bin | |
run: ./SqlPackage.exe /Action:Publish /SourceFile:".\ShowroomCMS\output\ShowroomCMSDb.dacpac" /TargetServerName:"showroomcms.mssql.csprd.com.au" /TargetDatabaseName:"ShowroomCMS" /TargetUser:"showroomcms_admin" /TargetPassword:${{secrets.AU_PRODUCTION_PASSWORD}} /Profile:".\ShowroomCMS\output\ShowroomCMSDb.publish.xml" | |
deploy-to-latam-production: | |
name: Deploy to latam Production | |
if: github.event.inputs.ENVIRONMENT_TO_DEPLOY == 'production' | |
runs-on: windows-latest | |
needs: [build] | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3.1 | |
- name: deploy staging database | |
working-directory: C:\Program Files\Microsoft SQL Server\160\DAC\bin | |
run: ./SqlPackage.exe /Action:Publish /SourceFile:".\ShowroomCMS\output\ShowroomCMSDb.dacpac" /TargetServerName:"showroomcms-latam.mssql.csprd.com.au" /TargetDatabaseName:"ShowroomCMS" /TargetUser:"showroomcms_admin" /TargetPassword:${{secrets.LATAM_PRODUCTION_PASSWORD}} /Profile:".\ShowroomCMS\output\ShowroomCMSDb.publish.xml" |