在使用厨师时,版本控制节点和angular色是不是很好的做法? 如果是的话,有什么好办法呢?
它看起来像一个应该能够采取使用chef_server_backup.rb创build的JSON文件的树,只需将其检查到VC。 有更好的select吗?
更新
事实certificate,检查由chef_server_backup.rb生成的JSON 不是一个好的解决scheme。 问题是脚本产生的JSON不稳定。 每次哈希以不同的顺序出现,生成的文件与以前的版本完全不同…即使它们在parsing为JSON时意味着相同的东西。 我会更好的保存压缩tarballs。
(但是如果我可以通过sorting属性来规范化JSON文件…)
我尝试尽可能保留JSON文件的configuration,并使用knife [noun] from file name.json更新厨师服务器。 我从https://github.com/opscode/chef-repo的存储库开始,并将所有的JSON文件保存在相应的目录中。 您也可以使用YAML或Ruby文件。 使用show命令, knife role show apache2 -Fj > roles/apache2.json以从厨师服务器上的现有数据创build文件。
基于“从文件”的方法的一些好处是:
git diff跟踪变化之间的变化,以及不仅仅是食谱版本的查看历史 唯一不在opscode / chef-repo中的是节点文件。 您也可以从文件导出/导入节点,但通常不build议这样做,因为节点应该是一次性的。 我喜欢Nathan Harvey曾经说过的话:“把节点想象成牛,而不是宠物。