厨师独奏覆盖属性

我正尝试使用Chef Solo和下面的食谱来安装Maven 3:

http://community.opscode.com/cookbooks/maven

Cookbook默认安装了Maven 2,第一次运行它时,它按照预期安装了Maven 2。

后来我修改了我的solo.json文件,如下所示:

 { "maven": { "version": "3" }, "run_list": [ "recipe[java]", "recipe[maven]" ] } 

厨师没有更新到版本3的Maven。我不知道这是否是因为我错误地指定覆盖属性,或者如果有一些其他问题。 我用这个作为参考:

http://wiki.opscode.com/display/chef/Chef+Solo#ChefSolo-JSON%2CAttributesandRecipes

谢谢。

嗯。 应该有厨师的输出,指出什么是错的。

看看食谱,我看到它正在试图下载maven 3: http : //www.apache.org/dist/maven/binaries/apache-maven-3.0.3-bin.tar.gz (如在maven中指定的/attributes/default.rb,作为maven.3.url属性)。

如果你试图去找那个url,你会得到一个404。所以,这本烹饪书就因此而被明显地打破了。 但是,这应该已经出现在厨师的运行日志中。

你可以尝试修改食谱,因为它已经过时了。 您也可以尝试将节点的maven.3.url属性设置为更新的内容,所以在这种情况下您不要触摸食谱,例如:

 "maven": { "version": "3", "3": { "url": "http://www.apache.org/dist/maven/binaries/apache-maven-3.0.4-bin.tar.gz" } }, 

或者,如果你想继续使用3.0.3:

 "maven": { "version": "3", "3": { "url": "http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.3-bin.tar.gz" } },