【问题标题】:Single-Solution Multi-Project Web App Deployment via Git通过 Git 部署单解决方案多项目 Web 应用程序
【发布时间】:2015-05-13 02:40:55
【问题描述】:

我有一个我一直在本地开发的解决方案,其中包含三个项目。结构如下:

我的解决方案包含:

  • 认证(项目)

  • API(项目)

  • 网络(项目)

我正在使用 IIS 将项目映射到以下虚拟目录:

  • 认证 -> /认证
  • API -> /Api
  • 网络 -> /

Web 项目是应用程序的入口点,包含我的所有静态文件(css、js、html)。它包含一个 angularjs 应用程序和一个用于捆绑支持的 index.cshtml。

我开设了一个新的 Azure 帐户,并尝试将此解决方案部署到单个 Web 应用程序。我想通过连接到我的 git repo 来使用持续部署。这甚至可能吗?

我附上了我的 repo,但部署似乎只抓住了 Auth 项目而完全忽略了其他两个。

我必须在单独的 Web 应用程序中配置项目吗? (非常不受欢迎)。所有项目都使用相同的数据库。如果他们必须在自己的 Web 应用程序中,他们是否可以使用相同的域名并将它们映射到我上面列出的虚拟目录?

【问题讨论】:

  • 看起来我必须创建三个单独的 Web 应用程序,并在应用程序设置中将每个应用程序指向不同的 csproj。我怎样才能让他们说话呢?我需要将它们映射为我的虚拟目录。
  • 如果您在一个解决方案中有多个项目,您必须告诉 Azure 中的编译器/部署者您正在部署什么项目。如果您在 github 或 bitbucket 中有源代码,则只需在您的站点的配置中添加此设置。在此处阅读更多信息:devtrends.co.uk/blog/…
  • 这是一个更简单的解决方案示例(无法编辑我的上一条评论)stackoverflow.com/questions/13632955/…
  • @HenrikFransas - 这是为了部署到不同的网络应用程序,这正是我希望避免的。
  • 好的,很抱歉造成误会。然后您可以编写自己的逻辑(如果您使用的是 git)。 Azure 使用的技术是 KUDU,您可以自己扩展该逻辑。在此处阅读更多信息:github.com/projectkudu/kudu/wiki/Deployment-hooksgithub.com/projectkudu/kudu/wiki/Customizing-deployments

标签: azure iis azure-web-app-service


【解决方案1】:

您的方案没有开箱即用的支持,但您可以按照以下步骤获得所需的配置:

  1. 创建一个自定义部署脚本,该脚本将构建您的所有项目并将它们部署到单独的目录(例如 wwwroot、wwroot_auth 和 wwwroot_api),可以在此处找到关于此的文档 - http://blog.amitapple.com/post/38417491924/azurewebsitecustomdeploymentpart1/(3 个部分)。

  2. 使用 applicationhost.xdt 转换文件创建虚拟目录,相关文档:https://github.com/projectkudu/kudu/wiki/Xdt-transform-samples

2. 的替代方法是从管理门户(在配置选项卡下)创建虚拟目录。

注意:最简单的解决方案是为每个项目使用单独的 Web 应用程序,这样您可以获得更多开箱即用的支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多