我是厨师的初学者。我想从命令行在git仓库中创建一本cookbook。
目前我使用的语法是:
c:\Users\chef-repo\demo_1\chef\site-cookbooks>git add cookbook
但它给了我一个错误。
这里使用的命令行序列是什么?
答案 0 :(得分:2)
假设您在遥控器上创建了一个空白仓库...(例如:Github或Gitlab)
$ git clone [... cookbookname.git]
$ cd cookbookname
$ berks cookbook cookbookname .
答案 1 :(得分:1)
典型的空白厨师仓库(如chef/chef-repo
)没有“cookbook
”文件。
它有一个文件夹“cookbooks/
”。
chef-repo
是存储以下数据对象的位置:
- 食谱(包括食谱,版本,食谱属性,资源,提供者,库和模板)
- 角色
- 数据包
- 环境
- 配置文件(适用于客户端,工作站和服务器)
要在cookbooks/
文件夹中添加食谱,您可以使用knife
。
knife cookbook create COOKBOOK
答案 2 :(得分:1)
似乎你将git
作为厨师工具。
Git
是一个版本控制系统(作为例如svn),它不是特定于厨师的。
Knife
用于创建食谱骨架,这不是强制性的,但它可以帮助您创建正确的目录结构并创建具有正确属性的metada.rb
。
我强烈建议您阅读https://learn.chef.io/fundamentals-series/以便在使用chef-dk和chef generate cookbook
之前对Chef进行概述,因为它集成了单元测试和其他一些可能使其复杂化的工具第一次理解。
对于您的具体问题,我会理解为:“如何在特定目录中创建食谱(不在cookbook_path
的{{1}}属性中”)
您可以使用knife.rb
如果要在当前目录中创建食谱,knife cookbook create NAME_OF_COOKBOOK -o PATH_WHERE_TO_CREATE
可以是PATH_WHERE_TO_CREATE
。
创建食谱后,您可以使用.
然后git init
对其进行版本更新。您可能希望添加一个包含git add
的远程存储库,以避免丢失您的工作。
如果您不熟悉git,请花点时间阅读一些关于git的教程,这样可以节省时间。