我正在学习 Chef。我的食谱在 Github 上。工作流程如下:
- 在本地安装食谱(从 Github 下载
knife site install
) - 将食谱上传至服务器 (
knife cookbook upload
) - 从服务器部署到客户端(
knife ssh ... "sudo chef-client"
)
有没有办法将 1 和 2 结合起来?这并不重要,但有时我需要节省带宽。我想知道我是否遗漏了什么。
答案1
Opscode 固执地选择将 Chef 和 Git 分开,并多次谈论此事 - 也许其他人没有使用 Git,也许它不应该与源代码控制紧密相关,等等。
考虑一下:knife cookbook site install apache2
默认情况下是不是转到 Github,而不是发布食谱的社区网站(类似于 rubygems)。
将它们分开还可以让多个人灵活地处理一个食谱,检查他们的代码,最后,当您准备就绪时,将其作为要部署的代码单元部署到 Chef 服务器。
简而言之,没有内置方法来组合项目 1 和 2。