如何禁用与 chef-client 的食谱同步?
How to disable cookbook synchronization with chef-client?
我想要 test/debug 食谱。但是,使用 chef-client 重启一个 chef 运行,这需要我修改食谱,将它们上传到 chef 服务器并同步食谱。
我希望能够修改已同步并存储在缓存中的食谱,而不必上传我在每次迭代中所做的每一个小改动。这可能吗?
谢谢
tl;chef-client 中的博士,如何使用缓存的食谱而不是每次都同步它们
您可以在本地模式下使用 chef-client(参见 here and here)。
但请注意,这会使用本地磁盘中的所有内容,还有环境、角色和数据包。
对于开发,test-kitchen 是首选工具,它可能会减轻您的痛苦。
您可以尝试这样的命令:
chef-client --local -o 'recipe[cookbookname::recipie]' --log_level info
或
chef-client -z -o 'recipe[cookbookname::recipie]' --log_level info
chef-client --skip-cookbook-sync
使用缓存的说明书而不覆盖服务器的本地差异。谨慎使用。在开发过程中进行迭代时,对于在机器上修补一组食谱很有用。
Chef 客户端 12.8.1 中的新功能。
对于 Chef 之前的版本 12 命令是
chef-solo -z -o <cookbook_name>
我想要 test/debug 食谱。但是,使用 chef-client 重启一个 chef 运行,这需要我修改食谱,将它们上传到 chef 服务器并同步食谱。 我希望能够修改已同步并存储在缓存中的食谱,而不必上传我在每次迭代中所做的每一个小改动。这可能吗?
谢谢
tl;chef-client 中的博士,如何使用缓存的食谱而不是每次都同步它们
您可以在本地模式下使用 chef-client(参见 here and here)。
但请注意,这会使用本地磁盘中的所有内容,还有环境、角色和数据包。
对于开发,test-kitchen 是首选工具,它可能会减轻您的痛苦。
您可以尝试这样的命令:
chef-client --local -o 'recipe[cookbookname::recipie]' --log_level info
或
chef-client -z -o 'recipe[cookbookname::recipie]' --log_level info
chef-client --skip-cookbook-sync
使用缓存的说明书而不覆盖服务器的本地差异。谨慎使用。在开发过程中进行迭代时,对于在机器上修补一组食谱很有用。 Chef 客户端 12.8.1 中的新功能。
对于 Chef 之前的版本 12 命令是
chef-solo -z -o <cookbook_name>