如何使用Team Foundation Bube 2015部署到特定的Azure虚拟目录

如何使用Team Foundation Bube 2015部署到特定的Azure虚拟目录,azure,tfsbuild,virtual-directory,azure-deployment,azure-web-app-service,Azure,Tfsbuild,Virtual Directory,Azure Deployment,Azure Web App Service,在Azure Web应用程序的应用程序设置中,您可以配置多个虚拟目录和应用程序: 我有两个web应用程序项目的解决方案。一个是UI,一个是WebAPI项目。我希望我在VisualStudioTeamServices中的持续集成构建能够将UI部署到站点根目录,将webapi部署到webapi虚拟目录 在旧的基于XAML的构建定义中,我的解决方案是使用发布概要文件。然后,我将传递MSBuild参数,以便使用我的发布配置文件部署这两个应用() 如果我想手动发布,这些发布配置文件仍然有效;这很简单,一

在Azure Web应用程序的应用程序设置中,您可以配置多个虚拟目录和应用程序:

我有两个web应用程序项目的解决方案。一个是UI,一个是WebAPI项目。我希望我在VisualStudioTeamServices中的持续集成构建能够将UI部署到站点根目录,将webapi部署到webapi虚拟目录

在旧的基于XAML的构建定义中,我的解决方案是使用发布概要文件。然后,我将传递MSBuild参数,以便使用我的发布配置文件部署这两个应用()

如果我想手动发布,这些发布配置文件仍然有效;这很简单,一个发布配置文件包含
mysite
,另一个包含
mysite/webapi

但是使用新的2015 Team Foundation构建部署步骤更加困难。我目前的情况是:

除了webapi部署之外,它工作得非常好。此步骤失败,抱怨:

未找到网站mysite/webapi。请指定有效的网站名称


显然,
mysite/webapi
不是我指定要部署到的虚拟目录的方式。但我不知道我应该如何在Azure Web应用程序部署步骤中指定这一点。有人知道如何做到这一点吗?

最后,我意识到一个显而易见的方法可以在短期内实现我的目标。目前,我刚刚在构建中禁用了Azure部署步骤,并修改了实际构建步骤,使其不发布web包,而是使用发布配置文件直接部署到Azure

因此,Visual Studio生成步骤中的MSBuild参数现在如下所示:

/p:DeployOnBuild=true/p:SkipInvalidConfigurations=true/p:PublishProfile=mysiteprofile/p:Password=paswordhashfor$mysite


在Publish-AzureWebSiteProject PowerShell cmdlet允许指定虚拟目录之前,我似乎必须这样做。

Microsoft发布了一个允许虚拟目录的新版本。

刚刚发现了这个问题,这表明使用这些构建步骤还不可能做到这一点:我还没有尝试使用它,但是我已经看过这个任务了,它看起来确实能满足我的需要。谢谢,我会记下这个作为答案。