Chef infra 如何管理Chef repo和Berkshellf cookbooks中的冗余
我正在使用厨师自动化。我有一本chef repo食谱,里面有定制的食谱以及opscode网站上的食谱 由于很少有烹饪书依赖于其他烹饪书,所以我使用berks实用程序安装了这些依赖项Chef infra 如何管理Chef repo和Berkshellf cookbooks中的冗余,chef-infra,redundancy,cookbook,berkshelf,Chef Infra,Redundancy,Cookbook,Berkshelf,我正在使用厨师自动化。我有一本chef repo食谱,里面有定制的食谱以及opscode网站上的食谱 由于很少有烹饪书依赖于其他烹饪书,所以我使用berks实用程序安装了这些依赖项 现在我的问题是如何管理食谱及其冗余内容。以下是详细答案 您可以在同一个berksfile中提到包装器cookbooks及其依赖项。“Beksfile”中的Cookbook源代码可以来自“Chef Supermarket”、GIT源代码和系统本地路径 假设cookbook“mysql_wrapper”是您开发的cook
现在我的问题是如何管理食谱及其冗余内容。以下是详细答案 您可以在同一个berksfile中提到包装器cookbooks及其依赖项。“Beksfile”中的Cookbook源代码可以来自“Chef Supermarket”、GIT源代码和系统本地路径 假设cookbook“mysql_wrapper”是您开发的cookbook,它使用“mysql”社区cookbook。还考虑包装器位于系统本地路径。< /P> 下面是上述场景的berksfile内容示例
source "https://supermarket.chef.io"
cookbook 'mysql'
cookbook 'mysql_wrapper', path: '/system/local/path/to/wrapper-cookbooks/mysql_wrapper'
它是如何工作的?
当您运行“berks安装”或“berks上传”时,BerksShelf解析berksfile中提到的烹饪书
依赖社区食谱将从“超市”下载,因为我们在第一行引用了它。而包装器cookbook将由本地路径引用
建立一个管理食谱、角色和数据包的项目
- 用你的食谱和其他东西创建一个项目存储库
- Project repo不过是一个目录,其中包含1的其他目录。角色,2。数据包,3。食谱和4。环境。根据您的需求创建存储库
- 把你的食谱放在食谱目录里
- 创建一个目录作为“角色”。将角色添加为“.json”文件
- 对于数据包/数据包项目,创建一个目录作为数据包。为每个数据包创建一个目录,并将项目添加为“.json”文件
- 在repo中创建文件
- 在项目回购中创建目录“.chef”
- 将Chef服务器刀/pem文件复制到.Chef中
- 从项目repo内部运行命令“berks upload”。您的食谱将上载到厨师服务器
- 运行刀上传数据包和刀上传角色,从回购中上传数据包和角色