假设我在foo.azurewebsites.net
有一个Azure App Service网络应用程序。 Web应用程序的代码(简单的Node.js服务器和React前端)托管在VSTS上,并且每次将代码推送到存储库{{1时,都会配置自定义部署脚本来构建和部署Web应用程序分支。换句话说,标准的Web应用程序配置。
现在,我的所有API代码(只是一个Node.js服务器)都在VSTS上的另一个存储库中。我希望能够做到以下几点:
master
的所有请求(这意味着,我仍然希望明确指出,服务器可以要求浏览器设置网络应用可以设置的Cookie)阅读,反之亦然)。这似乎是一个相当标准的场景......是否有可接受的解决方案?我遇到了this,但这似乎是一种非常黑客的方式,更不用说我不知道VSTS的Web挂钩的正确URL是什么,并且似乎不是找到有关它的任何信息。此外,该示例并未涵盖如何处理上述第(1)点。
请注意,this question上接受的答案并非我所寻找的。它描述了如何在部署时从第二个存储库获取,而不是如何使第二个存储库触发部署,或者如何处理第二个存储库是其自己的服务器的事实。此外,它引入了两个存储库之间的依赖关系,因为foo.azurewebsites.net/api
可能在第一个存储库中受源代码控制。
感谢@CtrlDot指出虚拟目录是解决问题的方法(1)。仍在寻求关于(2)和(3)的指导。
答案 0 :(得分:2)
我认为您所指的概念称为Virtual Directories
我不确定您要使用哪个VSTS任务进行部署,但根据提供的文章,您应该将其配置为仅定位到要部署到的虚拟目录。
修改强>
抱歉没有更清楚。 AzureRmWebAppDeployment任务具有虚拟应用程序名称的参数。您只需在API项目(/ api)和主项目的部署管道中设置它(将其留空)