0

我开始使用 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配置选项?

4

2 回答 2

0

Packer 文档说它在同一个文件中,称为 run_list,默认情况下为空。因此,您应该在名为 run_list 的参数中将您的食谱名称作为单元素字符串数组提供。

于 2015-04-24T16:17:51.353 回答
0

对于像我这样正在寻找答案的初学者,我通过添加如下的 run_list 来解决这个问题:

"run_list": ["git::default"]

“git”是 metadata.rb 文件中的名称,“default”是文件名或配方(如果我的术语正确的话)。我的食谱目录结构如下:

~/Projects/Packer-Templates/Cookbooks $ find .
.
./ruby-environment
./ruby-environment/metadata.rb
./ruby-environment/recipes
./ruby-environment/recipes/default.rb
于 2015-04-26T23:56:51.287 回答