Man*_*uel 11 git amazon-web-services node.js amazon-elastic-beanstalk
如何强制弹性 beanstalk nodejs 应用程序在子目录服务器中查找服务器应用程序?
我正在构建一个现代 SPA,它在一个 git 项目中具有服务器和客户端应用程序。因此,elastic beanstalk 不能在存储库的根目录中查找服务器应用程序,而是在子文件夹 ./server/ 中查找。客户端 SPA 在 ./client/ 中编码,并在构建过程中构建到服务器文件夹结构内的公共文件夹中。完整构建的客户端版本已签入 git,并且不得在角色出时构建。
所以elastic beanstalk必须在server子目录下npm install和npm run。
示例文件夹结构:
~ git-root
|-- client
| |-- ...
|
|-- server
| |-- package.json
| |-- src
| |-- public
| |-- (node_modules)
Run Code Online (Sandbox Code Playgroud)
如果您所需的 package.json 位于子目录中,而不是建议的根级别位置,您可以在 git 根目录中添加 Buildfile 和 Profile 文件,以分别向 AWS Elastic Beanstalk 提供自定义构建和运行命令:
~ git-root
|-- client
| |-- ...
|
|-- server
| |-- package.json
| |-- src
| |-- public
| |-- (node_modules)
|
|--Buildfile
|--Procfile
Run Code Online (Sandbox Code Playgroud)
构建文件
install: cd server && npm install
Run Code Online (Sandbox Code Playgroud)
过程文件
web: cd server && npm run
Run Code Online (Sandbox Code Playgroud)