如何通过命令行将Web部署包部署到Azure网站?

时间:2015-03-24 18:30:44

标签: azure jenkins msbuild msdeploy microsoft-web-deploy

我们今天做什么

目前,我们使用以下命令通过MSBuild为我们的测试环境部署到Windows Azure网站(WAWS)

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

我想要完成的事情

我想在我们的测试版本的同时创建一个prod构建/部署(不是在同一个MSBuild调用中,除非它可能),稍后,在构建通过测试的某个时候,部署prod构建通过命令行生成。 (最好使用Web Deploy)

我认为我能做到这一点

我怀疑最好的方法是在测试构建时创建Web部署包。然后,部署该Web Deploy Package

我需要知道的事情

  1. 是一个Web部署包/后续部署该包,这是最好的方法吗?
  2. 如何从命令行部署Web部署包?现在,使用正确的参数集通过MSBuild进行部署非常容易,我希望保持简单。
  3. 我已经知道如何创建一个创建以下文件的Web Deploy包

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

    我只是不知道如何将该软件包部署到Windows Azure网站

2 个答案:

答案 0 :(得分:2)

您检查了web app deploy page吗? PowerShell中的Azure命令行开关很受欢迎。

答案 1 :(得分:2)

我们最终使用此批处理文件将软件包部署到azure。我将变量命名为与从azure控制面板下载azure部署凭据时获得的变量相同。

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