如何强制 chef-client 再次下载 运行 相同的食谱版本
How to force chef-client to download and run same cookbook version again
当我对食谱进行修改时,我想在厨师客户端上进行测试。然而,到目前为止我发现,chef-client 只会下载和执行新版本的 cookbook。每次我对我的食谱做一个小改动时,这都会迫使我升级食谱的版本。我想强制 Chef 客户端节点下载并执行已更改的相同版本的食谱。
我已经尝试删除 /var/chef/cache/* ,它仍然会下载包含已更改的内容的食谱(即使版本号没有)。
这可能吗?
谢谢
chef-client 总是会根据需要下载东西。更大的问题是大多数最近的食谱上传工具都使用 freeze
模式,这会阻止对该版本进行任何进一步的更改。总的来说,这是一件好事,我建议您使用 Test Kitchen 来尝试任何调整,然后在您准备好时碰撞和释放。您还可以查看不以相同方式使用说明书版本的 Policyfile 系统和工作流程。
将你的食谱版本固定在必要的环境文件中,只有在它通过你的测试(厨房、厨师规范、staging/integration 以及所有使用它的系统等)后才升级它。某些 CI 系统甚至可以为您进行此更新。
当我对食谱进行修改时,我想在厨师客户端上进行测试。然而,到目前为止我发现,chef-client 只会下载和执行新版本的 cookbook。每次我对我的食谱做一个小改动时,这都会迫使我升级食谱的版本。我想强制 Chef 客户端节点下载并执行已更改的相同版本的食谱。
我已经尝试删除 /var/chef/cache/* ,它仍然会下载包含已更改的内容的食谱(即使版本号没有)。
这可能吗?
谢谢
chef-client 总是会根据需要下载东西。更大的问题是大多数最近的食谱上传工具都使用 freeze
模式,这会阻止对该版本进行任何进一步的更改。总的来说,这是一件好事,我建议您使用 Test Kitchen 来尝试任何调整,然后在您准备好时碰撞和释放。您还可以查看不以相同方式使用说明书版本的 Policyfile 系统和工作流程。
将你的食谱版本固定在必要的环境文件中,只有在它通过你的测试(厨房、厨师规范、staging/integration 以及所有使用它的系统等)后才升级它。某些 CI 系统甚至可以为您进行此更新。