本連載では、Chef-ZeroをKnife-Zero経由で利用することを前提として進めていきます。今回は環境の構築について解説します。
恐らく多くの企業ではWindows PCが社用クライアントとして支給されているでしょうから、今回はWindows PC上で開発とテストができるよう、以下図のような環境を構築します。
まず、任意のフォルダーで下記コマンドを実行します。
$ mkdir chef-repo $ cd chef-repo $ rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm $ yum groupinstall "Development Tools" $ yum install openssl-devel libffi-devel tcl-devel tk-devel libxml2-devel $ yum install --enablerepo=epel libyaml-devel
rvm(Ruby Version Manager)は、Rubyをバージョンごとに別々のパスにインストールし、簡単に切り替えられる仕組みです。後述するGemインストール時に要求されるRubyのバージョンが2.0.0であるため、今回は2.0.0のインストールをするためにrvmを用います。
# sudo gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 # curl -L https://get.rvm.io | sudo bash -s stable
インストールによりパスの設定が追加されているので、シェルを再度起動します。
# bash
以下のように表示されればrvmのインストールは完了です。
# rvm -v rvm 1.26.7 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
rvmを使用してRuby2.0.0をインストールします。
# rvm install 2.0.0 # ruby -v
Rubyを一般ユーザーで使用できるように、rootの環境変数の内容を確認します。
# echo $PATH
上記コマンドで表示された「$PATH」の内容を、「/home/{一般ユーザーのusername}/.bash_profile」の中に「PATH=$PATH:〜」の形式で追記し、シェルを再起動します。追記および再起動は一般ユーザーで実行します。
ChefをインストールするためのGemfileを作成します。Gemfileの作り方については知りたい方は、記事「Rubyで逆ポーランド変換機を作りgem作成&コマンドの使い方」を参照してください。
$ cd ~/chef-repo $ bundle init
生成されたGemfileに以下の通り追記します。
source "https://rubygems.org" gem 'chef' gem 'knife-zero' gem 'berkshelf'
Gemfileに基づいてGemをインストールします。
$ sudo bundle install
Chef Clientを常にローカルモードで実行するために、「.chef/knife.rb」ファイルを作成しておきます。
$ mkdir .chef $ echo 'local_mode true' > .chef/knife.rb
以上でCookBook開発環境の構築は完了です。
次回以降は実際にCookbookを作成していきます。併せてCookbookの管理についても解説します。
Copyright © ITmedia, Inc. All Rights Reserved.