我们使用.Net后端开发了Azure Mobile服务 . 我们可以从VisualStudio发布它,但我们希望自动化从构建机器发布服务的过程 .
我们希望将构建和发布过程分开,因此结合构建和发布的解决方案there对我们来说是不够的 .
Azure Mobile Services是否有任何powershell /命令行工具,类似于New-AzureDeployment / Set-AzureDeployment(ref:"Deploying cloud services to Azure with Powershell")?
2 回答
对于Azure移动服务,您可以通过git进行部署 - 该机制是您将"production"代码检入git存储库 . 这可以作为持续集成测试的一部分自动执行 - 请参阅以下演练:https://azure.microsoft.com/en-us/documentation/articles/mobile-services-store-scripts-source-control/ . 这可能是您自动化的最佳选择 .
您还可以使用azure命令行工具 . 有关详细信息,请参阅以下演练:https://azure.microsoft.com/en-us/documentation/articles/mobile-services-manage-command-line-interface/
我终于设法使用MSDeploy.exe工作了 . 我发现使用“/ p:DeployOnBuild = true”运行msbuild,但没有“/ p:PublishProfile”实际上并不发布移动服务,而是创建包含内容的文件夹,可以使用msdeploy发布 .
使用msdeploy发布移动服务应遵循的步骤:
在建设过程中:
添加/ p:DeployOnBuild = true到构建移动服务的msbuild命令
发布文件夹在obj \ Release \ Package中创建 . 此文件夹包含PackageTmp文件夹以及应在发布期间使用的一些文件(.cmd,.xml,.zip) . 但是我无法使用这些文件 . 在我的情况下,PackageTmp文件夹是我需要的,我将此文件夹复制到构建过程的输出 .
在发布过程中:
(仅一次)从Azure管理门户下载移动服务的发布配置文件(.publishsettings文件)(“仪表板”选项卡上的链接)
运行运行msdeploy.exe的批处理:
或者,可以将提到的PackageTmp文件夹的内容压缩为zip并将发布行更改为:
有几次我不得不在发布后重新启动移动服务 . 它可以通过Azure CLI轻松完成 .
我希望上面有人帮助那些想要自动化移动服务部署过程的人:-)
帮助我完成所有工作的文章:Azure Mobile Service deployment with Team City part 4. Deploying Azure Mobile Services