【发布时间】:2015-03-30 03:17:25
【问题描述】:
上下文
- Web 应用程序项目有一个
/build(或/dist)文件夹,其中包含在构建期间生成的前端文件(由Gulp)。此文件夹不在源代码管理之下(例如,请参阅:React.js Starter Kit) - 服务器端代码不需要捆绑或编译步骤,因此可以按原样部署项目中的
/src文件夹(这些源文件用于运行 Node.js 或 ASP.NET vNext 服务器) - Web 应用程序通过 Git 部署(请参阅 Heroku 或 Windows Azure 中基于 Git 的部署选项作为示例)
问题
- 在部署之前还是之后构建(捆绑和缩小)前端文件更好?
- 如果之前,您最终可能会拥有一个单独的存储库(或分支),在源代码控制下的
/build文件夹以及其余项目文件。此 repo 仅用于部署目的。 - 如果之后,部署时间可能会增加 - 下载构建过程中使用的其他 npm 模块所需的时间,服务器的 CPU 可能会在构建过程中飙升至 100%,可能会损害您的 Web 应用程序的响应能力。
- 如果之前,您最终可能会拥有一个单独的存储库(或分支),在源代码控制下的
- 在运行 KuduSync 命令之前还是之后在远程服务器上构建前端文件更好?
- 如果使用 Kudu 将 Web 应用程序部署到 Windows Azure,部署脚本是否应该仅将
/build文件夹的内容(带有公共的前端文件,如 .js、.html、.css)复制到/wwwroot?与默认情况下复制所有项目文件(服务器端源代码和前端包)不同。 - 默认情况下,Azure 的部署脚本会复制所有项目文件,从
D:\home\site\repository文件夹到D:\home\site\wwwroot文件夹,然后从那里启动 Node.js 应用程序。这是必要的步骤吗?为什么不从D:\home\site\repository文件夹启动 Node.js(或 ASP.NET vNext)应用程序?如果确实应该复制到单独的文件夹,为什么源文件放在wwwroot,也许最好将它们复制到wwwroot之外的另一个文件夹?
【问题讨论】:
标签: node.js azure heroku deployment kudu