我正在尝试在OpsWorks上运行防火墙后面的环境。 我的应用程序实例位于VPC的私有子网中,我注意到我无法运行bundle install(因为我无法从我的实例访问rubygems。)
最好的方法是什么?
我以为我可以在本地运行bundle install并检查repo中的gem,但我不知道该怎么做。
在Opsworks之前,我使用了capistrano(有一个名为copy_bundled的策略:https://github.com/rudionrails/capistrano-strategy-copy-bundled)
答案 0 :(得分:0)
您是否尝试过bundle install --deployment
- 这会将所有捆绑的宝石存储在您的供应商/目录中,然后可以将其存储在您的版本控制中。存在一些缺点(VCS仓库的大小是主要问题),但有利于确保生产代码的可重复环境。
请注意,在生产系统上,涉及ruby / rake / rails的所有命令行操作都需要bundle exec ...
前缀,因为ruby将不再知道在哪里找到gems。