我不知道在不依赖外部npm存储库可用性的情况下使用弹性beanstalk部署复杂node.js的最佳实践(以及处理私有管理的git存储库的凭据和高可用性内部开发的软件包)。使用弹性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重建”命令失败(它试图chmod bin文件夹中的东西不存在于express.js模块中),所以我甚至都没有尝试看看beanstalk默认的部署环境将如何使用这样一个仓库。我假设它运行“npm install”(它不会执行任何操作),但它会运行“npm rebuild”吗?
因此,再次,部署具有多个依赖关系的复杂项目的最佳实践是什么?现在在node/beanstalk世界里它一定是一个解决的问题,不是吗?
谢谢
了解到您使用的可能是依赖于binary.If一个lib暂存ENV是100%和你的生产环境一样,然后继续,检查node_modules文件夹,没问题。如果你在升级和生产中没有使用不同版本的节点,你不需要npm重建。只需复制一切,你应该没问题。 – mpm
mongodb bson,kerberos使用二进制文件,我在部署到亚马逊linux机器时在mac上开发,我不能将二进制文件提交到存储库 –
我明白了。但是在这一点上,您可能想要考虑使用类似vagrant的东西,会让你的生活变得更简单。 – mpm