2017-09-05 98 views
0

我正在重新學習廚師(我在過去的2年中做了2年),並幫助我在CentOS 7 Vagrant盒子上安裝LAMP應用程序。爲了保持它的簡單,我所有的食譜都在同/ path_to /食譜目錄,也就是如何在依賴另一本食譜的食譜上運行Chefspec?

/path_to/cookbooks/ 
------------------/my_mysql 
------------------/my_php 
------------------/my_apache 

他們也是在同一個廚師repo.git倉庫,再以保持它的簡單。也就是說,當我克隆我的chef-repo.git倉庫時,我得到了上面的目錄結構。

的my_php食譜依賴於my_apache菜譜,所以我有這個..

my_php:metadata.rb file 
depends 'my_apache' 

所以,我能重新開始我的my_php httpd服務:default.rb配方,這樣

file '/var/www/html/info.php' do 
    content " 
    <?php phpinfo(); 
    " 
    mode '0644' 
    owner 'root' 
    group 'root' 
    notifies :restart, 'service[httpd]', :immediately 
end 

再次保持簡單,我不想使用Berkshelf。那麼我如何爲my_php食譜做這個工作?可能嗎?

$ chef exec rspec --color spec/unit/recipes/default_spec.rb 

如果我必須與Berkshelf做到這一點,我的Berksfile應該是什麼樣子?

回答

0

好吧,我現在回想起來。使用Berksfile,我必須這樣做。 (這是慢慢回來)

source 'https://supermarket.chef.io' 

cookbook 'cf_apache', '~> 0.1.0', github: "my_user/chef-repo", rel: 'cookbooks/cf_apache' 

我現在能夠運行我的chefspec,但將不得不修復錯誤。