大佬教程收集整理的这篇文章主要介绍了使用弹性beanstalk部署复杂的node.js项目,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
看起来有一种思想流派,它实际上将node_modules检入到实际部署的项目的源树中.
来源1:http://www.futurealoof.com/posts/nodemodules-in-git.html
来源2:http://eng.yammer.com/managing-node-js-dependencies-and-deployments-at-yammer/
所以听起来像是检查它们是正确的方法,但是对于某些已编译的软件包存在不同的二进制格式问题(在mac上开发并部署到linuX)
我尝试过做yAMMer家伙建议(签入模块除了bin文件夹),但即使那时本地“npm rebuild”命令失败(它试图chmod在bin.in文件夹中不存在的bin文件夹中的东西)所以我甚至没有试图看看beanstalk默认部署环境将对这样的存储库做什么.我假设它运行“npm install”(它什么都不做),但它会运行“npm rebuild”吗?
那么,再次,部署具有多个依赖项的复杂项目的最佳实践是什么?现在在Node / beanstalk世界中它一定是一个已经解决的问题,不是吗?
谢谢
packages: yum: git: [] gcc: [] make: [] openssl-devel: [] libxml2: [] libxml2-devel: [] files: "/opt/elasticbeanstalk/env.vars" : mode: "000775" owner: root group: users content: | export HOME=/home/ec2-user # ADDED EXPORT COMMAND export NPM_CONfig_LOGLEVEL=error export NPM_CONfig_UNSAFE_PERM=true export NODE_PATH=`ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin "/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh" : mode: "000775" owner: root group: users content: | #!/bin/bash . /opt/elasticbeanstalk/env.vars function error_exit { eventHelper.py --msg "$1" --severity ERROR exit $2 } #install not-installed yet app node_modules if [ ! -d "/var/node_modules" ]; then mkdir /var/node_modules ; fi if [ -d /tmp/deployment/application ]; then ln -s /var/node_modules /tmp/deployment/application/ fi OUT=$([ -d "/tmp/deployment/application" ] && cd /tmp/deployment/application && $NODE_PATH/npm install 2>&1) || error_exit "Failed to run npm install. $OUT" $? echo $OUT "/opt/elasticbeanstalk/hooks/configdeploy/pre/50npm.sh" : mode: "000666" owner: root group: users content: | #no need to run npm install during configdeploy
以上是大佬教程为你收集整理的使用弹性beanstalk部署复杂的node.js项目全部内容,希望文章能够帮你解决使用弹性beanstalk部署复杂的node.js项目所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。