我是厨师的初学者,希望自动化部署过程。为了测试一个简单的脚本,我已经下载了chefdk。我创建了存储库,烹饪书和收件人。现在,我想运行一个配方,我使用以下命令:
chef-client -z -r 'recipe[example::default]'
只要从../repository/目录中执行,此命令就可以正常工作。但是,当我尝试从该目录外部执行它时,它无法说它无法找到该菜谱。
从文档(实际上没有多大帮助)我发现我们可以在knife.rb文件中配置cookbook路径,但在我的情况下,没有这样的文件(因为我只是试图运行)当地的厨师客户)。有没有其他方法可以在运行时传递cookbook路径,以及chef-client命令?
答案 0 :(得分:0)
如果您不想每次都进入此目录,可以更改配置文件中的COOKBOOK_PATH
设置。如果您没有此文件,则必须创建它并运行命令:
chef-client --local -c PATH_TO_FILE
可在此处更改的设置列表HERE。对您而言最重要的是chef_repo_path
和cookbook_path
。
希望这会有所帮助:)