jjzjj

ruby - Chef Recipe 的执行顺序是什么

我正试图了解Chef,但我终其一生都找不到cooking书是如何运作的如果我有文件结构chef-repo├──cookbooks│  └──test│  ├──attributes│  │  ├──default.rb│  │  └──test.rb│  ├──files...│  ├──metadata.rb│  ├──recipes│  │  ├──default.rb│  │  └──test.rb│  └──templates...├──roles│  └──starter.rb└──Vagrantfile如何加载属性以及加载顺序?例如,它加载所有属性(default.rb和t

ruby - Chef 独奏 : Installing build-essential recipe before postgresql

我正在尝试使用chef-solo在我的服务器上安装postgresql。我通过自己进行引导并在脚本中手动包含build-esential包来完成这项工作。现在我想使用knife-solo来处理Bootstrap,但我在定义执行配方的顺序时遇到了问题。我想在postgresql之前安装build-essential包。这是我正在构建的服务器的json文件{"dbuser":"myuser","dbpass":"mypassword","postgresql":{"password":{"postgres":"mypassword"}},"passenger":{"version":"3.

ruby - gem 构建 "recipe for target ' stemmer.so' 失败”

当使用geminstalljekyll从gem安装Jekyll时,出现以下构建错误。我在Windows7上使用Cygwin,并在安装之前从源代码构建了posix-spawngem。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingjekyll-1.1.2.gem:ERROR:Failedtobuildgemnativeextension./usr/bin/ruby.exeextconf.rbcreatingMakefilemakegcc-I.-I/usr/include/ruby-1.9.1/x86_

ruby - 让 Chef Recipe Recipe 只运行一次

所以我使用以下配方:include_recipe"build-essential"node_packages=value_for_platform(["debian","ubuntu"]=>{"default"=>["libssl-dev"]},["amazon","centos","fedora","centos"]=>{"default"=>["openssl-devel"]},"default"=>["libssl-dev"])node_packages.eachdo|node_package|packagenode_packagedoaction:installendendba

ruby - Chef Recipe 如何检查文件是否存在

我刚开始使用Chef,我想弄清楚如何在执行任何操作之前先检查文件是否存在。我有我当前用例的文件部分,我正在删除生产服务器的登录文件,例如:file'/var/www/html/login.php'doaction:deleteend但是,我希望能够先检查文件是否存在,例如。if(file_exists===true)file'/var/www/html/login.php'doaction:deleteendend 最佳答案 如评论中所述,对于删除操作,if语句是不必要的,因为如果chef没有找到要删除的文件,它将假定它已被删除.否

ruby - Chef - 在 Recipe 之间共享库

是否可以在另一个Recipe提供者/库中重用Recipe库中的代码?cookbook1/libraries/lib.rb...defvery_useful_checktrueend...cookbook2/libraries(providers?)/foo.rb...myvar=very_useful_check...谢谢 最佳答案 可以使用ChefLibraries.确保函数是通过ruby​​模块在您的命名空间中定义的:moduleFoodefvery_useful_checktrueendendclassChef::Recipe

ruby - 如何设置对在 Chef 加载 Recipe 时不存在的 Ruby 库的依赖项?

场景:方法1:下载文件,解压它们。提供一个CLI,它还定义了一个Ruby库。秘诀2:利用上述库中的RubyAPI。在recipe1/recipes/default.rb中:..doworknode[:recipe1][:filePath]=".."#pathtofile在recipe2/recipes/default.rb中:requirenode[:recipe1][:filePath]/lib/Library..dowork但是,当加载Recipe时,Chef宣布:[Wed,17Aug201119:32:23+0800]DEBUG:Loadingcookbookapache2'sd

ruby - 使用 Chef Recipe 更新 .bashrc

我正在编写使用chef-solo安装jsk的练习方法,我需要更新.bashrc文件以设置JAVA_HOME和PATH变量。我不知道该怎么做。谁能告诉我该怎么做。我的一些代码是..file"/home/user/.bashrc"doowner"root"#somethinggoeshere....idon'tknowwhat.butiwrite#%{bash-i-c"source/etc/bash/bashrc&&bashrcupdate"}content"JAVA_HOME=/usr/java/jdk1.1.0.05"content"PATH=$PATH:JAVA_HOME/bin"e

ruby - ChefSpec 不应测试包含的 Recipe

我已经为安装JenkinsCI制作了一本说明书。它使用yumRecipe中的key和repository资源,所以我最终得到以下配方:yum_key"RPM-GPG-KEY-jenkins"dourl"http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key"action:addendyum_repository"jenkins"dodescription"Jenkins-CI3rdpartyrepository"url"http://pkg.jenkins-ci.org/redhat"key"RPM-GPG-KEY-jenkins"act

ruby-on-rails - 最新的 ruby Chef Recipe

是否有最新的ruby​​Recipe?我在opscodecookbook网站上找不到。即ruby1.9.3或1.9.2p280。 最佳答案 我只是finishedupdatingCarloZottman的ruby1.9.xcookbook(在写拉取请求之前吃午饭时注意到这个问题,哈哈...)唯一的依赖项是来自opscodecookbook站点的标准build-essential和aptcookbook。至于关于何时可能需要像这样的Recipe的讨论,我使用它在我的12.04.01vagrantboxes上从ruby​​1.8升级到r