Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I deploy a web deploy package to Azure Web Sites via command line?

What we do today

Currently, we Web Deploy to Windows Azure Web Sites (WAWS) via MSBuild for our test environment using the following command

MSBuild.exe /p:Configuration=Test /p:DeployOnBuild=true /p:PublishProfile=Test 
            /p:AllowUntrustedCertificate=true /p:UserName=AzureDeploymentUser 
            /p:Password=AzureDeploymentPassword Solution.sln

What I want to accomplish

I want to create a prod build / deployment at the same time as our test build (not in the same call to MSBuild, unless its possible), and later, at some time that the build passes testing, deploy the prod build to prod via the command line. (preferably with Web Deploy)

How I think I can accomplish this

I suspect that the best way to do this is to create a Web Deploy Package at Test build time. And then later, deploy that Web Deploy Package.

What I need to know

  1. Is a Web Deploy Package / subsequent deployment of that package, the best way to do this?
  2. How do you deploy a web deploy package from the command line? Right now its painfully easy to deploy via MSBuild with the right parameter set, I'd like to keep it that simple.

I already know how to create a Web Deploy Package that creates the following files

ProjectName.zip
ProjectName.deploy-readme.txt
ProjectName.deploy.cmd
ProjectName.SetParameters.xml
ProjectName.SourceManifest.xml

I just don't know how to deploy that package to Windows Azure Web Sites

like image 835
Allen Rice Avatar asked Sep 28 '22 11:09

Allen Rice


2 Answers

Have you checked the web app deploy page? Azure commandlets in powershell are popular.

like image 182
Greg D Avatar answered Oct 06 '22 19:10

Greg D


We ended up using this batch file to deploy the package to azure. I named the variables the same as the variables you get when you download the azure deployment credentials from the azure control panel.

SET cmdPath=MSBuildGeneratedDeploymentPackage/yoursitename.deploy.cmd
SET publishUrl=yoursitename.scm.azurewebsites.net:443
SET userName=$yoursitename
SET userPWD=passwordFromAzureDeploymentCredential

%cmdPath% /y "/m:https://%publishUrl%/MsDeploy.axd" -allowUntrusted /u:"%userName%" /p:"%userPWD%" /a:Basic
like image 37
Allen Rice Avatar answered Oct 06 '22 20:10

Allen Rice