我想使用Vagrants Chef solo provisioner安裝幾個任意的APT套件。在Vagrant solo-provisioner上使用chef.json安裝apt套件
chef.json似乎允許您執行chef命令,但我不清楚如何做到這一點。例如:
chef.json = {
apt: {
package: {'libssl-dev': {action: 'install'}}
}
?
我想使用Vagrants Chef solo provisioner安裝幾個任意的APT套件。在Vagrant solo-provisioner上使用chef.json安裝apt套件
chef.json似乎允許您執行chef命令,但我不清楚如何做到這一點。例如:
chef.json = {
apt: {
package: {'libssl-dev': {action: 'install'}}
}
?
廚師使用recipes來定義resources,通過主廚客戶端在nodes上執行。
的json
您的chef-solo
設置定義attributes這就像你的廚師可以用它來決定做什麼變數。
所以你的哈希屬性的廚師使用,但你需要一個配方用於配置基於散列資源將您節點
上執行你的情況,你需要配置package
resource
package "name" do
some_attribute "value"
action :action
end
包資源支持很多不同的封裝後端,包括apt
因此您不必擔心差異(包名稱除外)。
要從哈希安裝軟件包,你可以創建這樣一個祕方:然後
node[:apt][:package].each do |pkg,pkg_data|
package pkg do
action pkg_data[:action].to_sym
end
end
個人食譜打包成cookbooks這就好比是食譜的邏輯分組。一般來說,一本食譜可以用於一個軟件,比如httpd
或mysql
。
正如Tensibia提到的那樣,請閱讀Vagrant Chef-Solo docco,瞭解將食譜/食譜放在哪裏並從那裏運行。