LoginSignup
0
0

More than 5 years have passed since last update.

berkshelfでcookbookを作成してrun_listでrecipeを指定して実行する方法

Last updated at Posted at 2017-01-05

やりたいこと

berkshelfでcookbookの雛形を作った後、インストールしたいパッケージごとにrecipeを作り、run_listでrecipeを指定して実行する。

前提

  • berkshelfとchefをgemなどでインストールしておく。
  • カレントディレクトリは"/home/vagrant/chef-berkshelf/"とする。

cookbookの雛形を作成

$ berks cookbook berks-cookbook

実行するcookbookのパスを設定

$ vi solo.rb
solo.rb
cookbook_path ["/home/vagrant/chef-berkshelf"]

recipeを作成

$ vi berks-cookbook/recipes/apache.rb
apache.rb
package "httpd" do
  action :install
end

service "httpd" do
  action [ :enable, :start ]
end

実行するrecipeを設定

$ vi chef.json
chef.json
{
  "run_list": [
    "recipe[berks-cookbook::apache]"
  ]
}

パッケージのインストール

$ sudo chef-solo -c solo.rb -j chef.json

recipeをchef.jsonに追加していけば複数のパッケージをインストールできる。
サーバの用途ごとにchef.jsonを用意してやればcookbookを跨いでrecipeを実行することができる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0