...
まずは、Chef を使わずに手でインストールするときの手順を確認します。
この手順を Recipe にしていきます。Jenkins のインストール方法はいろいろとありますが、今回はハンズオンのために次の手順で統一します。
http://pkg.jenkins-ci.org/redhat/ から rpm をダウンロード
コード ブロック $ wget http://pkg.jenkins-ci.org/redhat/jenkins-1.568-1.1.noarch.rpm
ダウンロードした rpm を yum コマンドでインストール
コード ブロック $ yum localinstall jenkins-1.566-1.1.noarch.rpm
/etc/sysconfig/jenkins を編集して、実行ユーザーを変更
コード ブロック $ sed -i 's/^JENKINS_USER="jenkins"/JENKINS_USER="kitchen"/' /etc/sysconfig/jenkins
情報 'kitchen' ユーザーは Kitchen で起動したインスタンスの一般ユーザーです。
作成した Cookbook は Kitchen を使って動作確認を行うので、このユーザーを Jenkins の実行ユーザーにしておきます。利用するディレクトリのオーナーを変更
コード ブロック $ chown -R kitchen:kitchen /var/lib/jenkins $ chown -R kitchen:kitchen /var/log/jenkins $ chown -R kitchen:kitchen /var/cache/jenkins
サービスを登録・起動
コード ブロック $ service jenkins start $ chkconfig jenkins on
今回はここまでの手順を Chef で自動化できるように Recipe を作成します。
Cookbook をつくる
手動でのインストール手順を把握できたら、Cookbook をつくり、Recipe にしていきます。インストール手順を確認したら、Jenkins をインストールする「jenkins Cookbook」をつくり、Recipe を書いてください。
ヒント
...
Cookbook の名前
Cookbook の名前には、インストールするアプリケーション名を英小文字でつけるのが一般的なようです。
Jenkins をインストールする Cookbook であれば、 次のようにします。
コード ブロック |
---|
$ chef generate cookbook jenkins |
使いそうな Resource
...
- コマンドを実行する
- ファイルをダウンロードする
- パッケージをインストールする
- テキストファイルの内容を置換する
- ファイルやディレクトリのオーナーを変更する
- サービスを起動する / 自動的に起動するように登録する
...