【发布时间】:2020-05-25 15:14:51
【问题描述】:
我有一个由 Node 提供的简单 REST 后端和一个 Angular 9 应用程序,它与它通信以管理业务逻辑。目前,它们部署在生产服务器上的两个单独文件夹中:
/opt/git/cargo-backend Node application
/var/www/cargo-frontend Angular application
出于技术原因(客户有一个带有 Plesk 控制面板的新服务器),后端和前端编译的源应该“捆绑”在一起到一个新的 Git 项目中,以便上传新版本的应用程序,客户只需要在他的 Plesk 面板上执行 git pull。已部署应用的文件夹结构应如下所示:
/
... bin/
... config/
... db/
... FRONTEND/ ---> The compiled Angular app should go in here
... middleware/
... node_modules/
[etc]
... app.js
... package.json
如您所见,基本上它是带有文件夹 (FRONTEND) 的后端源代码,其中包含 Angular 编译的代码。我的想法是使用脚本创建一个新的 Git 项目,该脚本将复制 Node 文件夹(不带 node_modules)并编译 Angular 应用程序并将生成的文件复制到 FRONTEND 子文件夹。我正在考虑使用 Gulp 甚至是 bash 脚本,但如果有人遇到同样的情况,我想得到一些想法。
编辑
最后,我选择了使用 Git 子模块。现在FRONTEND 文件夹是一个指向已编译的Angular 应用程序存储库的子模块,因此我可以使用单个git pull --recurse-submodules 部署后端-前端。
有什么建议吗?提前致谢!
【问题讨论】: