Skip to content

開発研修 chef

Kazuya Sato edited this page Feb 20, 2014 · 5 revisions

Chefについては公式ドキュメントGitHubを参考にして下さい。
また、課題図書として入門Chef Soloを読んでおくとよいです。

Chefを理解する

■目的

Chefとはどういう仕組かを理解してもらいます。

■課題

  • Chefとはどんなツールか調べて下さい
  • Chefの以下ツール群について調べて下さい
  • chef-server
  • chef-client
  • chef-solo
  • knife
  • Chefの以下構成要素について役割を調べて下さい
  • Cookbook
  • Recipe
  • Resource
  • Template
  • Attribute
  • File
  • Role
  • Node
  • run_list

調べた結果はissueに記述して下さい。

 

インストール

■課題

公式ドキュメントを参考にしChefをインストールして下さい。
※インストール前にRubyのバージョンを確認すること
対応が終わったらインストールログをissueに記述して下さい。

 

Hello Chef!

■目的

簡単なRecipeを作成し、実際にChefを起動してみます。

■課題

Hello Chef!とログを出力するRecipeを作成し、chef-soloコマンドを起動して実際に出力して下さい。

  • knifeの設定をする
  • knifeコマンドでリポジトリを作成する
  • knifeコマンドでCookbookを作成する
  • solo.rbでパスを設定する
  • Recipeを編集する
  • chef-solo用のNodeファイルとrun_listを作成する
  • solo.rbとNodeファイルを指定してchef-soloコマンドを実行する

実行結果はissueに記述して下さい。

 

パッケージインストール

■目的

Recipeのpackageリソースを用いてライブラリをインストールします。
参考:http://docs.opscode.com/resource_package.html

■課題

インストールなどは全てpackageを用いて行って下さい。

  • Recipeを編集してzshをインストールする
  • Recipeを編集してzsh、gcc、makeをインストールする
  • 1つ1つpackageを指定するのではなくRubyを上手く使ってまとめてインストールして下さい
  • Recipeを編集してgccをアンインストールする
  • Recipeを編集してgccをバージョンを指定してインストールする

上記を全て1つのRecipeファイルにまとて、実行結果はissueに記述して下さい。

 

ソースインストール

■目的

attributes、files, templatesを使ってソースからミドルウェアをインストールします。

■課題

PHPを以下を満たす形でインストールして下さい。
参考:https://github.com/opscode-cookbooks/php

  • ソースファイルをfilesで管理
  • PHPの設定ファイルをtemplatesで管理
  • templates内の変更したい項目値(mbstringなど)をattributesで管理
  • files、templates、attributesを使ってPHPをインストールするRecipeを作成
  • chef-soloコマンドを実行してPHPをインストール

実行結果とインストール確認のログはIssueに記述して下さい。

Clone this wiki locally