LoginSignup
7
7

More than 1 year has passed since last update.

Berkshelfが作ったCookbookの中身を理解する

Last updated at Posted at 2013-07-21

はじめに

前々回前回の続きです.ChefやBerkshelf,Vagrantの初心者が勉強しながら執筆しています.

今回はberksコマンドで最初に作ったCookbookについて勉強が進み,少しわかったことが増えましたので,メモします.

berksコマンドが作ったCookbook

ここで前々回で行った作業をふりかえります.最初にberksコマンドを用いて,

$ berks cookbook precise

というコマンドを実行しました.これにより,preciseという名前のcookbookが作成されました.このcookbookの名前は,metadata.rbの一行目にかかれています.

name             'precise'
maintainer       'YOUR_NAME'
maintainer_email 'YOUR_EMAIL'
license          'All rights reserved'
description      'Installs/Configures precise'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version          '0.1.0'

CookbookのRecipeの参照方法

このpreciseという名前のcookbookは,Vagrantfileのrun_listから参照されます.run_listにあるcookbookはvagrantprovisionの時などにChef(料理人)が調理します.

...
chef.run_list = [
    "recipe[precise::default]"
]
...

ここのpecise::defaultの箇所が,参照をしているところです.では,「default」とは何でしょう.これは,cookbook(料理本)にあるrecipe(レシピ)の名前です.具体的にはrecipes/フォルダのなかのdefault.rbファイルです.

ところで,recipes[…]は省略できます.そして,defaultも省略できるようです(要出典).なので,上の例は

...
chef.run_list = [
    "precise::default"
]
...

ないしは

...
chef.run_list = [
    "precise"
]
...

としても同じ結果になりました.

おわりに

今回学んだことは,berks cookbookpreciseコマンドで作成したのは,preciseという名前のcookbookであることです(なんだか,アタリマエのことに気づいた感じです).そして,recipes/の中にレシピがあることがわかりました.そうすると,この場所にレシピを追加すればいろいろとVMを鍛えていくことができることになります.

また,run_listのなかにcookbook名を書いてあげると,そのcookbookのdefaultのレシピを指定できます.さらに,precise::defaultのように,レシピの名前まで指定することができます.


  • source /mnt/c/Users/yc/Dropbox/org/qiita/d286ccab0fa0d501a45c.org
7
7
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
7
7