Berkshelf : 요약하자면 managing cookbook dependencies
Berkshelf는 의존성 있는 cookbook들은 모두 다운로드?(실제로 실제 쿡북의 로컬 저장 위치는 /root/.berkshelf/cookbooks)하고 chef-server에 cookbook upload 시 유용하다
Berksfile이라는 dependencies 파일에 의해 의존성 check를 함
metadata.rb에 dependencies cookbook을 기재하고...recipe file에 include_recipe 하면
berks install 시 의존성 cookbook 을 설치
[root@chef-mjs study]# berks install
Resolving cookbook dependencies...
Fetching 'study' from source at .
Fetching cookbook index from https://supermarket.chef.io...
Installing chef-client (4.3.1)
Installing chef_handler (1.2.0)
Installing cron (1.6.1)
Installing logrotate (1.9.2)
Installing ntp (1.8.6)
Using study (0.1.0) from source at .
Installing windows (1.38.1)
cookbook 의존성 관련 Berksfile.lock 파일 만들어짐
[root@chef-mjs study]# cat Berksfile.lock
DEPENDENCIES
study
path: .
metadata: true
GRAPH
chef-client (4.3.1)
cron (>= 1.2.0)
logrotate (>= 1.2.0)
windows (~> 1.37)
chef_handler (1.2.0)
cron (1.6.1)
logrotate (1.9.2)
ntp (1.8.6)
study (0.1.0)
chef-client (>= 0.0.0)
ntp (>= 0.0.0)
windows (1.38.1)
chef_handler (>= 0.0.0)
berks upload 시 의존성 cookbook upload
[root@chef-mjs study]# berks upload --no-ssl-verify
Uploaded chef-client (4.3.1) to: 'https://chef-mjs:443/'
Uploaded chef_handler (1.2.0) to: 'https://chef-mjs:443/'
Uploaded cron (1.6.1) to: 'https://chef-mjs:443/'
Uploaded logrotate (1.9.2) to: 'https://chef-mjs:443/'
Uploaded ntp (1.8.6) to: 'https://chef-mjs:443/'
Uploaded study (0.1.0) to: 'https://chef-mjs:443/'
Uploaded windows (1.38.1) to: 'https://chef-mjs:443/'