お題: Jenkins の Cookbook をつくる
では、ここまでの話を踏まえて、実際に Cookbook を作ってみてください。
作成するのは Jenkins をインストールする Cookbook です。
Jenkins とは
継続的インテグレーションツールです。
http://jenkins-ci.org/
最近では「インフラCI」や「テスト駆動インフラ」という単語も出てきていて、 で
手動でインストールするときの手順
http://pkg.jenkins-ci.org/redhat/ から rpm をダウンロード
ダウンロードした rpm を yum コマンドでインストール
/etc/sysconfig/jenkins を編集して、実行ユーザーを変更
利用するディレクトリのオーナーを変更
サービスを登録・起動
ヒント: 主な Resource
コマンドを実行する
execute Resource [ http://docs.opscode.com/resource_execute.html ]
ファイルをダウンロードする
remote_file Resource [ http://docs.opscode.com/resource_remote_file.html ]
※ ダウンロードしたファイルなどは /tmp ではなく Chef::Config[:file_cache_path] に保存する
パッケージをインストールする
package Resource [ http://docs.opscode.com/resource_package.html ]
テキストファイルの内容を置換する
ruby_block Resource [ http://docs.opscode.com/resource_ruby_block.html ]
Chef::Util::FIleEdit [ http://rubydoc.info/gems/chef/Chef/Util/FileEdit ]
※ execute Resource で sed コマンドを実行してもよい
※ file Resource + lazy でもできるかな?
ファイルやディレクトリのオーナーを変更する
ruby_block Resource [ http://docs.opscode.com/resource_ruby_block.html ]
FileUtils#chown_R [ http://docs.ruby-lang.org/ja/1.9.3/method/FileUtils/m/chown_R.html ]
※ execute Resource で chown コマンドを実行してもよい
サービスを起動する / 自動的に起動するように登録する
service Resource [ http://docs.opscode.com/resource_service.html ]