我最近开始使用 chef,我喜欢它来配置我的 vagrant boxes 并快速生成新的机器。
现在我开始使用托管的 Chef 服务器。
使用以下方式管理我的食谱非常容易伯克斯架所有需要的食谱分布在多个 git 存储库中。
但现在我也想对我的数据包/环境/节点/角色等进行良好的管理。
我想让保存这些配置的 json 文件与 chef 服务器保持同步。
唯一的方法是使用knife upload
。我不想最终编写一堆脚本来将本地文件上传到我的 chef 服务器。
那么有没有一种解决方案可以让我轻松地将所有内容上传到 chef 服务器?最好与 git push 绑定(这样在我推送 git repo 后,我所有的内容都会在 chef 上更新)
答案1
我最近发现香料鼬鼠它允许您使用 YAML 文件设置 Chef 基础设施。
答案2
您可以创建一个上传所有内容的后推送 git 钩子:
#!/bin/bash
knife cookbook upload --all
knife role from file roles/*.rb
knife data bag from file --all
但是因为 git没有推送后的本地挂钩,你必须将其挂接到其他东西上。