我有一个基于3个网络应用程序的解决方案,这些应用程序部署在同一个azure虚拟机中。我的ServiceDefinition.csdef有3个<site>
元素,指向具有所需绑定的源目录。
因此,当我执行发布时,所有3个应用程序都已部署,但只有第一个应用程序被预编译,其他2个应用程序只是xcopied到azure VM。这是一个问题,因为我的配置转换尚未执行。
有没有办法执行azure deploy,发布所有应用程序的预编译版本 - 而不仅仅是第一个?
答案 0 :(得分:2)
Wade Wegner在此前写了一篇关于此事的博客文章。
Running Multiple Websites in a Windows Azure Web Role
请记住:部署中的每个角色必须保持在一起 - 您不能将一个角色部署到一个服务,而将另一个角色部署到另一个服务。如果要执行此操作:将角色分离到单独的部署中。然后,您可以将它们发布到不同的URL。
我建议您为每个网络应用创建一个实例。这将通过解除产品部署的分离来降低部署更新所涉及的风险。
编辑:(从Smarx窃取,Windows Azure with Multiple Sites in One Role not transforming 2nd web.debug.config to web.config)
当您添加其他Web角色时,您提供了一个physicalPath来指向您要部署的内容,而SDK所做的就是将它在该路径中找到的文件复制到您的包中。它没有构建。
您可能正在构建和发布要部署的Web应用程序,然后将physicalDirectory指向该发布步骤的输出。 (确保您在physicalDirectory中设置的目录包含您希望部署到云中的目录。)