如何强制弹性beanstalk nodejs应用程序在子目录服务器中查找服务器应用程序? 我正在构建一个现代SPA,它在一个git项目中有服务器和客户端应用程序.因此,弹性beanstalk不能在存储库的根目
我正在构建一个现代SPA,它在一个git项目中有服务器和客户端应用程序.因此,弹性beanstalk不能在存储库的根目录中查找服务器应用程序,而是在子文件夹./server/中查找.客户端SPA在./client/中编码,并在构建过程中构建到服务器文件夹结构中的公用文件夹中.完全构建的客户端版本签入git,不能在roleout时构建.
所以弹性beanstalk必须在npm install和npm在服务器子目录中运行.
示例文件夹结构:
~ git-root |-- client | |-- ... | |-- server | |-- package.json | |-- src | |-- public | |-- (node_modules)Elastic beanstalk正在使用一些可以更改的服务器配置.要更改该配置,您可以ssh到该计算机,或者您可以强制每个应用程序部署正确配置.
第二种方法是将自定义代码添加到应用程序根文件夹中的.ebextensions文件夹中.
有关自定义命令的更多信息.ebextensions可以在这里找到:
> https://stackoverflow.com/a/28608828/6541812
> http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html
> http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html