我正在尝试使用厨师自动化应用程序部署。
我准备了通用的食谱(基于输入属性值工作)来部署 API。我将所有属性都保存在我的属性文件夹中。
这里面临的问题是,如果我将包版本号保留在属性文件中,我就能够成功部署包。实际上,每次触发 CD 管道时,包号都会更改。我正在考虑使用 chef-client CLI 功能将参数作为带有 -j 选项的 JSON 文件传递。
问题是我不想在每次触发 CD 管道时触摸我的食谱来更新包版本,因为如果我更新我的食谱中的任何内容,我必须再次运行 CI 以进行食谱验证,同时我不能在每个节点(范围从 50 - 500 个服务器)中保留一个文件,并在 Chef-client 被触发之前远程更新版本。
请帮助我找到一种将参数远程传递给knife ssh的方法。或解决此问题的任何其他解决方案。非常感谢您提前。