我正在寻找有关厨师食谱版本管理的想法。我知道您将特定版本固定在环境中,但是我不确定该怎么做。
我们使用图书馆管理员来将3rd party社区书籍安装到cookbooks文件夹中。我们从不碰那些书,而只是不时更新到最新版本。
我们还提供了针对特定地点的自定义菜谱,其中包括社区菜谱(include_recipe
)。
从理论上讲,我们可以指定自定义书籍所依赖的社区书籍的特定版本,然后在环境配置中设置我们的食谱版本,但是问题在于,这些社区书籍可能依赖其他一些没有指定版本的书籍。这种深层嵌套的依赖性可能会持续下去。
因此,没有保证,当您将食谱上传到Chef服务器时,它不会中断生产,因为从属食谱也可能会发生变化。
我目前看到的唯一解决方案是指定我们在环境配置中使用的每个食谱版本,包括社区和自定义版本。但是然后我必须仔细阅读每本食谱,并找出那些版本。
我们还会不时地进行图书管理员检查更新,我想这可能会变得很难跟踪已更改的版本,并且不要忘记及时更新环境中的版本。
请分享您的经验和最佳做法。我相信这对其他人将非常有用。