带有 chef-solo 配置的 Packer 什么都不做
Packer with chef-solo provisioning does nothing
我开始使用 Packer,使用 chef-solo 进行配置。我有一个非常简单的食谱 (default.rb),其中包含以下几行:
package "git"
package "ruby"
package "rubygems"
我能够成功地使用 Vagrant 配置图像。我现在正在尝试将此供应步骤移至 Packer,但是当我执行 packer build
时,它似乎 运行 没有配方。
virtualbox-iso: Running handlers complete
virtualbox-iso: Chef Client finished, 0/0 resources updated in 1.818437359 seconds
我的 Packer 模板的配置部分是:
{
"type": "chef-solo",
"cookbook_paths": ["/cookbooks"]
}
这个问题的第二部分(我假设它是相关的)是 run_list
配置选项是什么?
The Packer documentation 表示它在同一个文件中,称为 run_list,默认情况下为空。因此,您应该在名为 run_list.
的参数中将食谱的名称作为单元素字符串数组提供
对于像我这样正在寻找答案的初学者,我通过添加 run_list 来解决这个问题,如下所示:
"run_list": ["git::default"]
'git' 是 metadata.rb 文件中的名称,'default' 是文件名或配方(如果我的术语正确的话)。我的cookbook目录结构如下:
~/Projects/Packer-Templates/Cookbooks $ find .
.
./ruby-environment
./ruby-environment/metadata.rb
./ruby-environment/recipes
./ruby-environment/recipes/default.rb
我开始使用 Packer,使用 chef-solo 进行配置。我有一个非常简单的食谱 (default.rb),其中包含以下几行:
package "git"
package "ruby"
package "rubygems"
我能够成功地使用 Vagrant 配置图像。我现在正在尝试将此供应步骤移至 Packer,但是当我执行 packer build
时,它似乎 运行 没有配方。
virtualbox-iso: Running handlers complete
virtualbox-iso: Chef Client finished, 0/0 resources updated in 1.818437359 seconds
我的 Packer 模板的配置部分是:
{
"type": "chef-solo",
"cookbook_paths": ["/cookbooks"]
}
这个问题的第二部分(我假设它是相关的)是 run_list
配置选项是什么?
The Packer documentation 表示它在同一个文件中,称为 run_list,默认情况下为空。因此,您应该在名为 run_list.
的参数中将食谱的名称作为单元素字符串数组提供对于像我这样正在寻找答案的初学者,我通过添加 run_list 来解决这个问题,如下所示:
"run_list": ["git::default"]
'git' 是 metadata.rb 文件中的名称,'default' 是文件名或配方(如果我的术语正确的话)。我的cookbook目录结构如下:
~/Projects/Packer-Templates/Cookbooks $ find .
.
./ruby-environment
./ruby-environment/metadata.rb
./ruby-environment/recipes
./ruby-environment/recipes/default.rb