Chef
用 Chef Solo 覆蓋屬性
我正在嘗試使用 Chef Solo 和以下食譜安裝 Maven 3:
http://community.opscode.com/cookbooks/maven
食譜預設安裝 Maven 2,我第一次執行它時,它按預期安裝了 Maven 2。
後來我修改了我的
solo.json
文件,如下所示:{ "maven": { "version": "3" }, "run_list": [ "recipe[java]", "recipe[maven]" ] }
但是 Chef 並沒有將 Maven 更新到版本 3。我不知道這是因為我錯誤地指定了 override 屬性還是還有其他問題。我用這個作為參考:
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" } },