2017-09-05 3 views
0

Ich lerne Chef neu (ich habe es in einem früheren Leben für 2+ Jahre gemacht), und um zu helfen, ich installiere gerade eine LAMP-Anwendung auf einer CentOS 7 Vagrant-Box. Es einfach zu halten, sind alle meine Kochbücher sind im selben/Pfad_zu/Kochbücher Verzeichnis, das heißt,Wie führe ich Chefspec auf ein Kochbuch, das von einem anderen Kochbuch abhängt?

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

Sie sind auch in der gleichen Koch-repo.git Repository, wieder es einfach zu halten. Das heißt, wenn ich mein chef-repo.git-Repository klone, bekomme ich die obige Verzeichnisstruktur.

Das my_php Kochbuch richtet sich nach dem my_apache Kochbuch, so habe ich diese ..

my_php:metadata.rb file 
depends 'my_apache' 

Damit ich den httpd-Dienst in meinem my_php neu starten können: default.rb Rezept, wie diese

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

Um es einfach zu halten, möchte ich Berkshelf nicht verwenden. Wie mache ich das dann für my_php Kochbuch? Ist es möglich?

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

Wenn ich dies mit Berkshelf tun müsste, wie sollte meine Berksfile aussehen?

Antwort

0

Ok, ich erinnere mich jetzt. Mit einem Berksfile musste ich das tun. (Es kommt langsam zurück)

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

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

Ich bin jetzt in der Lage, meine Chefspec auszuführen, aber müssen Fehler beheben.

Verwandte Themen