Chef-solo(Knife-solo)とBerkshelfの話。
Berksfileに例えばこうやって書けば使えた。これは有能!
relってサブディレクトリのことだったのか。Gemfileで使ったことなかった。
cookbook ’nginx’, git: ‘[email protected] :masutaka/cookbooks.git’, rel: ’nginx’
$ bundle exec berks vendor vendor/cookbooks
を実行すると、
vendor/cookbooks/nginxにインストールされる。
.chef/knife.rbを以下のように変更すると、インストールしたnginxレシ
ピをnodeやroleから参照できる。ちなみにcookbook_pathは後ろから先に
参照される。$PATHの逆。
cookbook_path [“cookbooks”, “site-cookbooks”]
↓
cookbook_path [“cookbooks”, “site-cookbooks”, “vendor/cookbooks”]
※ .gitignoreに/vendor/cookbooksの追加も忘れずに。
private repositoryの時はこの書式は使えなかった。やり方はあるかもし
れない。
cookbook ’nginx’, github: ‘masutaka/cookbooks’, rel: ’nginx’
今までは https://github.com/masutaka/cookbooks
とかをGitのsub
moduleとしてガッツリ指定していたため、追随するのが大変だった。
cookbooksを変更する人も気を使ったし。
この辺の話に関連する。
JenkinsでサーバのCIを始めました|feedforce Engineers’ blog
Berksfileの書き方は公式ドキュメントに書いてある。
http://berkshelf.com/
追記:
依存関係(metadata.rbのdepends)は見てくれなかった。そりゃそうか。
継続調査。