Last active
November 17, 2019 04:25
-
-
Save diegohb/1e32fa0728110024c904de6c7ac5130b to your computer and use it in GitHub Desktop.
A meta-runner for Teamcity that wraps 3 steps - webapp stop, ftp upload, and webapp start
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
<?xml version="1.0" encoding="UTF-8"?> | |
<meta-runner name="Deploy: Azure App Service - FTP"> | |
<description>Deploy to Azure app service via FTP.</description> | |
<settings> | |
<parameters> | |
<param name="app-service.deployUsername" value="" /> | |
<param name="app-service.name" value="" /> | |
<param name="deploy.source.dir" value="**" /> | |
<param name="app-service.resource-group" value="" /> | |
<param name="app-service.slotName" value="" spec="select data_5='qa' label_5='QA' label_3='UAT' data_7='production-2' display='normal' label_7='Production' data_1='dev' label_1='Development' data_3='uat'" /> | |
<param name="ftp.host" value="" /> | |
<param name="ftp.password" value="" spec="password display='normal'" /> | |
</parameters> | |
<build-runners> | |
<runner name="Azure-CLI - WebApp Slot UAT - Stop" type="simpleRunner"> | |
<parameters> | |
<param name="script.content"><![CDATA[azure webapp stop --name "%app-service.name%" --resource-group "%app-service.resource-group%" --slot "%app-service.slotName%" | |
echo "Sleeping for 60 seconds..." | |
powershell -c "start-sleep -second 60"]]></param> | |
<param name="teamcity.step.mode" value="default" /> | |
<param name="use.custom.script" value="true" /> | |
</parameters> | |
</runner> | |
<runner name="Upload to UAT Slot" type="ftp-deploy-runner"> | |
<parameters> | |
<param name="jetbrains.buildServer.deployer.ftp.authMethod" value="USER_PWD" /> | |
<param name="jetbrains.buildServer.deployer.ftp.ftpMode" value="PASSIVE" /> | |
<param name="jetbrains.buildServer.deployer.ftp.securityMode" value="0" /> | |
<param name="jetbrains.buildServer.deployer.ftp.transferMethod" value="AUTO" /> | |
<param name="jetbrains.buildServer.deployer.sourcePath" value="%deploy.source.dir% => /site/wwwroot" /> | |
<param name="jetbrains.buildServer.deployer.targetUrl" value="%ftp.host%" /> | |
<param name="jetbrains.buildServer.deployer.username" value="%app-service.name%__%app-service.slotName%\%app-service.deployUsername%" /> | |
<param name="secure:jetbrains.buildServer.deployer.password" value="%ftp.password%" /> | |
<param name="teamcity.step.mode" value="execute_if_failed" /> | |
</parameters> | |
</runner> | |
<runner name="Azure-CLI - WebApp Slot UAT - Start" type="simpleRunner"> | |
<parameters> | |
<param name="script.content"><![CDATA[azure webapp start --name "%app-service.name%" --resource-group "%app-service.resource-group%" --slot "%app-service.slotName%"]]></param> | |
<param name="teamcity.step.mode" value="execute_always" /> | |
<param name="use.custom.script" value="true" /> | |
</parameters> | |
</runner> | |
</build-runners> | |
<requirements> | |
<ver-more-than id="RQ_9" name="system.agent.azure-cli_version" value="2.0.76" /> | |
</requirements> | |
</settings> | |
</meta-runner> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment