2013-09-24 84 views
1

我们使用亚马逊的SNS通知我们的应用程序对我们的自动缩放组进行了更改。在服务器终止的情况下,我们要删除节点。使用导轨应用程序

通知工作正常,自动缩放组也是如此。我唯一的问题是,我无法在Rails应用程序中运行knife命令,我猜是因为它调用了错误的Ruby版本并尝试使用应用程序的gem。我们使用RVM安装ruby-2.0.0-p195,我不想捆绑Chef。

的错误,因此,当我尝试和执行刀:

system "cd /chefroot/ && /usr/bin/knife" 

/Users/SM/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/rubygems_integration.rb:214:in `block in replace_gem': chef is not part of the bundle. Add it to Gemfile. (Gem::LoadError) 

我可以看到刀的通话厨师,但需要作为一个系统的宝石这样做。在knife.rb:

load Gem.bin_path('chef', 'knife', version) 

也看到this SO post但我不希望使用RVM-与宝石。

我看了一下Opscode API,但是这对我们来说并不是真的有用。有没有更好,更复杂的方法来做到这一点?

回答