EC2でJenkinsを動かす

こんにちは。NowTomです。最近、RubyKaigi2011やAgileConferenceTokyoに参加して、CI熱が高まっております。
そこで今回は、EC2上にCIツールのJenkinsをインストールしようと思います。

今回やることは下記になります。

  1. EC2にUbuntuインスタンスを作成する
  2. Javaをインストールする
  3. Jenkinsをインストールする
  4. Jenkinsを動かす

それでは、順々に行ってみましょう。

1. EC2にUbuntuインスタンスを作成する

過去の記事を参考にしてください。

2. Javaをインストールする

UbuntuJavaをインストールします。今回は、SunのJavaを入れます。

$ sudo add-apt-repository "deb http://archive.canonical.com/ maverick partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

これで終わりかと思うと、いっこうにインストールが終わりません。
Amazonのマネジメントコンソールから再起動して、もう一回ログインしてください。
Ubuntu10.10のMicroインスタンスを利用している場合に発生するバグらしく、下記のスクリプトをいじる必要があるようです。
/var/lib/dpkg/info/sun-java6-bin.postinst

# before
if ! $basedir/bin/java -client -Xshare:dump -Xmx256m -XX:PermSize=128m > $log; then
# after
if ! $basedir/bin/java -client -Xshare:dump -XX:PermSize=128m > $log; then

インストールを中断してしまったので、下記のコマンドでやり直します。

$ sudo dpkg --configure -a

終わったら、Javaの確認をします。

$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

3. Jenkinsをインストールする

Jenkinsはwarファイルのものを使うので、ダウンロードするだけです。

$ wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war

4. Jenkinsを動かす

Jenkinsをデーモンで動かします。

$ java -jar jenkins.war

これでコンソールに起動している様が流れると思います。
しばらくたったら、ブラウザで8080ポートにアクセスしてみてください。
下記のような画面が表示されるはずです。

表示されない場合は、EC2のセキュリティグループの設定を確認してください。
8080ポートを開けてあげる必要があります。

最後に

今回は、EC2のインスタンス上にJenkinsをインストールして、動かすところまでやってみました。
次は、RailsプロジェクトのCIを実行するところまでやってみたいと思います。