2015-02-23 85 views
1

我是厨师的初学者。我想从命令行在git仓库中创建一本食谱。如何在git仓库中创建厨师食谱?

目前我使用的语法:

c:\Users\chef-repo\demo_1\chef\site-cookbooks>git add cookbook 

但它给我一个错误。

什么是正确的命令行序列在这里使用?

+0

什么错误它给你? – VonC 2015-02-23 11:24:08

+0

它给了我一个错误:fatal:pathspec'cookbooks'没有匹配任何文件 – 2015-02-23 11:50:10

+0

不需要添加:只需'git clone https:// github.com/chef/chef-repo'并尝试在本地克隆的厨师东西回购。 – VonC 2015-02-23 11:52:30

回答

1

一个典型的空白厨师回购(如chef/chef-repo)没有文件'cookbook'。
它有一个文件夹'cookbooks/'。

参见About the chef-repo

chef-repo是在其中存储了下列数据对象的位置:

  • 食谱(包括配方,版本,食谱属性,资源,提供者,库和模板)
  • 角色
  • 资料袋
  • Enviro nments
  • 配置文件(客户机,工作站和服务器)

要在cookbooks/文件夹添加菜谱,你会使用knife

knife cookbook create COOKBOOK 
+0

烹饪书只能使用刀..我想你也可以做Git – 2015-02-23 11:37:57

+0

@ErPujaBhattacharya如果你的意思是“cookbooks /'文件夹,它已经被添加,因为它是回购'厨师/厨师 - 回购'的一部分你可以克隆。 – VonC 2015-02-23 11:39:18

+0

不,我的意思是在库中添加新的食谱 – 2015-02-23 11:53:14

1

似乎你是作为厨师工具采取git

Git是一个版本系统(例如svn),它不是厨师特定的。

Knife用于创建食谱框架,这不是强制性的,但它可以帮助您创建正确的目录结构并创建具有正确属性的metada.rb

我强烈建议你阅读https://learn.chef.io/fundamentals-series/与厨师-DK和chef generate cookbook它出现在菜谱制作,因为它集成单元测试和其他一些工具可能第一个理解更深复杂播放之前拿到过厨师的概述。


为了您的具体问题,我会理解为:“如何创建一个特定目录中的食谱(而不是在cookbook_path属性knife.rb)”

您可以使用knife cookbook create NAME_OF_COOKBOOK -o PATH_WHERE_TO_CREATE

PATH_WHERE_TO_CREATE可以是.如果您想在当前目录中创建食谱。

创建食谱后,您可以使用git init然后git add进行版本化。您可能希望使用git remote add REMOTE_REPO_NAME REMOTE_REPO_URL添加远程存储库以避免丢失您的工作。

花时间浏览一些关于git的教程,如果你不熟悉它,你会节省时间。

2

假设你遥控器上创建一个空的回购协议。(如:Github上或Gitlab)

$ git clone [... cookbookname.git]

$ cd cookbookname

$ berks cookbook cookbookname .

+1

欢迎来到堆栈溢出!请考虑编辑您的帖子,以添加更多关于您的代码的解释以及为什么它可以解决问题。一个主要包含代码的答案(即使它正在工作)通常不会帮助OP了解他们的问题。 – SuperBiasedMan 2015-08-14 16:59:18