如何在IDE(如Eclipse)中开发和调试Chef cookbook和配方?

gen*_*ood 15 ruby eclipse ide eclipse-plugin chef-infra

我是红宝石和厨师的新手.我一直在开发烹饪书,提交它们,将它们上传到Chef服务器,然后将它们部署到一个更改角色的Chef客户端,然后在客户端上运行"chef-client".这个过程很慢.

我怎样才能使用IDE(在我的情况下是Eclipse)开发烹饪书并能够调试(设置断点,观察变量等)并运行它们而无需将它们上传到Chef服务器,然后通过厨师 - 客户端将它们拉回来跑?

  • 我正在使用Eclipse 3.7 Indigo和"Dynamic Languages Toolkit - Ruby Development Tools 3.0.0.v20110424-7Z - E_EkMYXO4k101442"插件
  • 我正在使用10.x Chef代码行开发Opscode Chef cookbook
  • 我正在开发一个Ubuntu 10.10系统,用于开发在RHEL/Centos 5服务器上运行的烹饪书
  • 我们运行自己的Chef Server(开源)

jod*_*ell 0

我倾向于chef-solo在目标虚拟机上使用。我将查看我的食谱存储库并使用模板化的 solo.rb 在本地进行迭代:

path File.expand_path(File.dirname(__FILE__))
cookbook_path "#{File.expand_path(File.dirname(__FILE__))}/cookbooks"
log_level ENV['CHEF_LOG_LEVEL'] && ENV['CHEF_LOG_LEVEL'].downcase.to_sym || :info
log_location ENV['CHEF_LOG_LOCATION'] || STDOUT
verbose_logging ENV['CHEF_VERBOSE_LOGGING']
Run Code Online (Sandbox Code Playgroud)

当与跑步者一起骑行时,设置log_level为调试很有帮助。