从PowerShell将Azure网站发布到非根文件夹

时间:2014-06-24 00:33:28

标签: asp.net-mvc deployment azure-web-sites azure-powershell

我目前正在测试我的假设。我的www.myapp.com/app上有我的Asp.Net MVC应用程序,www.myapp.com/上有第三方CMS系统。

网站的设置与this answer

中所述的相同

目前,我可以从Visual Studio单独和手动发布这两个应用程序,它可以正常工作。

但是,我尝试从构建服务器发布我的应用程序,我使用的是Azure Power-Shell scriplets:

PS> Publish-AzureWebsiteProject -Name myApp -Package MyWebDeployPackage.zip

但是,documentation没有提及是否可以使用此scriplet发布到非根文件夹。

我可以通过命令行向~/app发布应用程序吗?

UPD :我可以从msbuild通过

发布
msbuild .\SolutionName.sln /p:DeployOnBuild=true /p:PublishProfile=ProfileName /p:Password=passwordForAzurePublishing /p:AllowUntrustedCertificate=true

其中ProfileName是配置为部署到Azure网站子文件夹的Web部署配置文件,Password是Azure配置文件中的部署密码。

然而,这不是最佳解决方案:要部署到测试和生产环境,我需要构建应用程序两次,我想避免:如果我编译视图,则需要7-10分钟(我们有800意见)。两次这样做是浪费时间。

UPD 2 :在Azure SDK工具库中创建了一个问题:https://github.com/Azure/azure-sdk-tools/issues/2667

1 个答案:

答案 0 :(得分:2)

我认为这不可能来自PowerShell,但我可能会弄错。在这里查看他们的发布代码https://github.com/Azure/azure-sdk-tools/blob/master/src/ServiceManagement/Services/Commands.Utilities/Websites/WebsitesClient.cs#L1136-L1168

还有https://github.com/Azure/azure-sdk-tools/blob/master/src/ServiceManagement/Services/Commands.Utilities/Websites/WebsitesClient.cs#L1218-L1229

他们没有应用名称的参数,第二个链接中的代码手动构建站点名称/插槽。

我想在这里打开一个问题https://github.com/Azure/azure-sdk-tools/issues,Azure PowerShell团队的某个人应该看一下。