2014-10-31 31 views
1

鎖定我有一個Berksfile這樣的:如何使用最新的總是菜譜,而另一些跟上Berkshelf

source "https://api.berkshelf.com" 

cookbook 'ruby_build' 
cookbook 'rbenv', github: 'fnichol/chef-rbenv' 
cookbook 'foo', git: '[email protected]:ironsand/cookbook-foo.git' 

knife solo cook node後,將創建Berksfile.lock並鎖定食譜的版本。

我想爲自己的食譜使用最新的食譜(foo),並鎖定其他人創建的食譜的版本(rbenv,ruby_build)。

我找不出如何去做。有誰知道我能做到嗎?

回答

2

您可以在Berksfile中指定您的食譜版本。或者,對於您正在提供git repo的食譜,您可以指定要修改的版本。

source "https://api.berkshelf.com" 

cookbook 'ruby_build', '= 4.0.2' 
cookbook 'rbenv', github: 'fnichol/chef-rbenv', tag: 'some_Tag' 
cookbook 'foo', git: '[email protected]:ironsand/cookbook-foo.git', :branch 'master' 

你也可以,如果你想有一個特定的哈希,而不是標籤或分支機構在使用:ref 'some_git_hash_for_ref'

+0

也許我的理解錯了,但即使我指定了git repo和分支或標記,當我運行'knife solo cook'命令時,修訂被'Berksfile.lock'鎖定。所以直到我刪除'Berksfile.lock'時纔會使用最新版本。 – ironsand 2014-11-04 05:50:18

+0

是的,這就是爲什麼它是'.lock'文件。如果你想更新一個版本,你必須運行'berks update'或者刪除鎖定文件。 – 2014-11-05 01:24:15

+0

這是我的問題,如何從'.lock'釋放自己的存儲庫,同時保持鎖定其他存儲庫。 – ironsand 2014-11-05 04:47:45

相關問題