如何使用Kudu将Grunt组装的网站发布到Azure Web App的根目录?

时间:2015-06-30 16:44:21

标签: gruntjs azure-web-sites continuous-deployment kudu

我有一个由Grunt组装的网站(这是正确的术语吗?)。它具有以下结构:

/
  src/ (input)
    doc/
    images/
    js/
    scss/
    Web.config
  external/
  node_modules/
  dist/ (output)
    css/
    fonts/
    images/
    js/
  gruntfile.js
  package.json

要使用Continuous Deployment和Kudu将其发布到Azure Web App,我添加了the following files

.deployment
deploy.cmd

我可以将网站上传到/ src并将其部署到/ dist,如下所示:

Directory of D:\home\site\wwwroot

06/30/2015  01:50 AM    <DIR>          .
06/30/2015  01:50 AM    <DIR>          ..
06/30/2015  02:21 AM                30 .deployment
06/30/2015  02:21 AM             3,679 deploy.cmd
06/30/2015  12:44 AM    <DIR>          dist
06/30/2015  12:40 AM    <DIR>          external
06/30/2015  02:21 AM             5,697 gruntfile.js
06/30/2015  12:43 AM    <DIR>          node_modules
06/30/2015  02:21 AM             1,173 package.json
06/30/2015  12:40 AM    <DIR>          src

但是当我指定根作为目的地时,我得到an error

  

源目录和目标目录不能是彼此的子目录

这里的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

修改:根据讨论更改答案

尝试使用虚拟目录:https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/

默认情况下,所有网站都site\wwwroot指向/虚拟目录。如果您希望\dist成为您的根,则更改虚拟目录条目以使site\wwwroot\dist作为物理路径,并将/作为虚拟目录。

enter image description here

<击> 您可以配置web.config以使用以下配置将任何脚本指定为启动脚本:

  <system.webServer>
    <handlers>
      <add name="iisnode" path="/src/index.js" verb="*" modules="iisnode" />
    </handlers>
  </system.webServer>

<击>