2013-09-24 90 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,但是這對我們來說並不是真的有用。有沒有更好,更復雜的方法來做到這一點?

回答