kaakaa Blog

この世は極楽 空にはとんぼ

chefとvagrantを使って仮想環境上にJenkinsを立て

ブームの煽りをもろに受けて、最近Chefをボチボチ触ってます。

AWS上でChefを動かせたときはちょっと感動。
AWS(EC2&S3)上でのchef-soloを使ったサーバの自動構築 | Lightweight HackingLightweight Hacking

色々、夢が膨らみますね。

とりあえずChefの使い方を学ぶために、手軽なVagrant使って仮想環境上でほげほげしていこうと思っています。

そのための課題として、まずはJenkinsを動かして見ましょう、と。
まー、だいたい下記サイトの通りですが。

VagrantとchefとjenkinsでローカルCIサーバーを作成する~リベンジ編~ - nigoblog

上記サイトとは異なる部分があったので、記録として残していきます。

Cookbookの取得

chef-jenkinsのcookbookへのリンクが古いようなので、新しい方から落としました。
opscode-cookbooks (Opscode Public Cookbooks)

あと、自分はVagrantfileにレシピを追加する形でなく、knife-soloでVagrantの仮想空間にレシピを適用する形を取ったのですが、そのために必要なCookbookは下記の通りでした。

apache2/
apt/
build-essential/
chef_handler/
iptables/
java/
jenkins/
nginx/
ohai/
runit/
windows/
yum/

ほとんどがjenkinsのcookbookを実行させるためのcookbook。
ここらへんはlibrarianとかBerkshelfとか使うと良いのでしょうか

httpdの設定?

仮想空間上でJenkins起動して、ローカルからアクセスしようとしたけど、うまくアクセスできませんでした。

httpdのproxy_moduleがロードされてなかったので、そこらへんかと思い小一時間…。

結局はiptablesの設定をすべて削除したらアクセスできるようになりました。iptablesいじって8080は通すようにしていたんだけどな…。8080以外も通す必要あったのか。

とりあえず一つ目の目標達成。
これをWindows環境でもできるように〜とか色々試して行きませう。