2017-09-05 10 views
0

저는 요리사 (전생에서 2 년 이상 해왔습니다)를 다시 배우고 CentOS 7 Vagrant 상자에 LAMP 응용 프로그램을 설치하는 데 도움을 드리고자합니다. 간단하게하기 위해, 내 모든 요리 책 그들은 다시 간단하게하기 위해, 같은 요리사 repo.git 저장소에 또한다른 요리 책에 의존하는 요리 책에서 Chefspec을 실행하는 방법?

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

, 즉, 같은/path_to/요리 책 디렉토리에 있습니다. 즉, 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을 실행할 수 있지만 오류를 수정해야합니다.