私はルートプロジェクトにもVagrantfileを持つcookbooksフォルダを持っています。 私は唯一のカップルの料理本を持っています(スターターは"apt"に依存し、データベースはmysqlに依存しています)。これらの料理本は、berks cookbookで生成されました。迷惑メールBerkshelf berksfile_path
今の問題は、それがVagrantfileにconfig.berkshelf.berksfile_pathを設定するために来るとき./cookbooks/starter/Berksfileまたは./cookbooks/database/Berksfile置く場合、私は知らないですどちらの料理本もberksの依存関係を持っているからです。
私はベンダーがを../../cookbooksが、第2のベンダは料理が上書きしてしまい、生成するので動作しませんでした料理-srcのにこれらの料理本を移動し、それらのそれぞれを反復処理し、バークスを実行するように複数のオプションを試してみました前回のもの。
./cookbooks/the-cookbook/cookbooksにも各Cookbookの依存関係をベンダーで試してみましたが、迷路はそれらを認識しません。 =================================
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.hostname = "chef-DK"
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--cpuexecutioncap", "67"]
v.memory = 537
end
config.berkshelf.enabled = true
config.berkshelf.berksfile_path = "./cookbooks/starter/Berksfile"
config.vm.provision :chef_solo do |chef|
chef.install = false
chef.run_list = [
'recipe[starter::default]',
'recipe[database::default]'
]
end
end
project/
├── cookbooks/
│ ├── database
│ │ ├── recipes
│ │ ├── Berksfile
│ │ └── metadata.rb
│ └── starter
│ ├── recipes
│ ├── Berksfile
│ └── metadata.rb
└── Vagrantfile
:
これは私の浮浪者ファイルです===========スタータ/ metadata.rbの
コンテンツ:
name 'starter'
maintainer 'YOUR_NAME'
maintainer_email 'YOUR_EMAIL'
license 'All rights reserved'
description 'Installs/Configures starter'
long_description 'Installs/Configures starter'
version '0.1.0'
depends 'apt', '~> 3.0.0'
コンテンツスターター/ Berksfile:
source "https://supermarket.chef.io"
metadata
cookbook 'apt', '~> 3.0.0'
===========================
内容データベース/ Berksfileの
name 'database'
maintainer 'The Authors'
maintainer_email '[email protected]'
license 'all_rights'
description 'Installs/Configures database'
long_description 'Installs/Configures database'
version '0.1.0'
depends 'mysql', '~> 6.0'
内容:データベース/ metadata.rbの
私はberkshelfmetadata
命令が料理metadata.rbを読み込むことを明らかにしたいすべての source "https://supermarket.chef.io"
metadata
cookbook 'mysql', '~> 6.1.3'
あなたの 'Berksfile'と' depends'の出力を 'metadata.rb'ファイルに追加できますか?珍しい依存がないことを確認するだけです。おそらく、他の2つのCookbookを含む別の3番目のBerksfileを作成する必要があります。 – zuazo
あなたが主な質問にあなたが要求したものを追加しました。 私は、これらのcookbookのカップルがあるルートフォルダにberksfileを追加しようとしましたが、その後、berksfileの隣にmetadata.rbが存在しないと不平を言うでしょう。 私は実際に動作する回避策を試しましたが、私が探しているものではありません。私はちょうど私の初心者/ berksfileにデータベースのcookbookへの依存関係をpath属性で入れて、データベース/ berksfileのすべての依存関係をstarter/berksfileと最後にvendor starter cookbookに移動しますが、これは実際には私が探しているものではありません私が望むように働く。 –