0

尽管使用此运行列表进行初始部署时不会引发任何错误:

"run_list": [ "recipe[ruby_build]", "recipe[rbenv::system_install]", "recipe[main]" ]

...后续部署会引发多个 rsync 错误,例如:

rsync: delete_file: unlink(ruby-build/share/ruby-build/1.9.3-p392) failed: Permission denied (13)

似乎权限/tmp/chef-solo设置为root。

使用刀独奏配置rbenvruby ​​-build 食谱的正确方法是什么?

编辑:

这个问题实际上只是关于如何正确配置和使用这两个说明书,例如做一个user_install

4

3 回答 3

0

您需要以chef-clientroot 身份运行。

于 2014-05-13T19:04:01.640 回答
0

你应该升级刀独奏。该问题已在 v0.3.0 中修复。您可能想在使用时阅读升级说明

于 2014-05-20T20:11:51.310 回答
0

我想我使用的是过时的食谱版本。而且我真的不知道运行列表是如何工作的。

要通过各自的说明书安装 rbenv 和 ruby​​_build,请参阅以下文件配置...

厨师档案

site 'http://community.opscode.com/api/v1'
cookbook 'rbenv', :git => 'https://github.com/fnichol/chef-rbenv', :ref => 'master' 
cookbook 'ruby_build', :git => 'https://github.com/fnichol/chef-ruby_build', :ref => 'master'

确保librarian-chef install在更新 Cheffile 后

网站食谱/my_cookbook/recipes/default.rb

depends 'ruby_build'
depends 'rbenv'

节点/dna.json

{
  "rbenv": {
    "rubies":["1.9.3-p484"],
    "global":"1.9.3-p484",
    "gems":{
      "1.9.3-p484":[
        {"name": "bundler"},
        {"name":"rails", "version": "4.0.2"},
        {"name": "rake", "version": "10.1.1"}
      ]
    }
  },
  "run_list":[
    "ruby_build", // required by "rbenv::system"
    "rbenv::system", // installs rubies and gems from dna, takes a while to finish the first time; see configuration options at https://github.com/fnichol/chef-rbenv#attributes
    "my_cookbook::default"
  ]
}

按照食谱文档node.default["var_name"] = "value_name"的建议在食谱中设置这些配置变量对我不起作用。

于 2014-11-09T01:00:16.540 回答