尋常でないもふもふ

a software engineer blog

Ubuntu 12.04 LTS に Jenkins をインストール

ローカル環境(Windows7)の VirtualBox に入れた Ubuntu 12.04 で Jenkins 環境をつくる。

Jenkins のインストール

Ubuntu の apt で確認するとバージョンは 1.424.6+dfsg-1 だった。

$ apt-cache show jenkins

Jenkins の公式サイトをみると最新は 1.533 だったけど、Jenkins は管理画面からバージョンアップできるので気にせずインストール。

$ sudo apt-get install jenkins


すでにこの状態で、Jenkins は利用できる。
Windows からアクセスするには、VirtualBox のネットワーク設定にある、ポートフォワーディングで 8080 番を通るようにすれば http://localhost:8080 でアクセスできる。
ただ、これだと Java の開発環境(Tomcat/Jetty)と被ってしまうので、フロントエンドに Nginx を使い、http://localhost/jenkins でアクセスできるようにする。

Nginx のインストール

apt-get をそのまま使うと、Nginx-1.1.19-1 というかなり古いバージョンになるため、あらかじめ Nginx の公式リポジトリを設定する。

$ sudo vi /etc/apt/sources.list.d/nginx.list

下記を記述。

deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx

この状態で sudo apt-get update すると下記エラーがでる。

W: GPG エラー: http://nginx.org precise Release: 公開鍵を利用できないため、
以下の署名は検証できませんでした: NO_PUBKEY ABF5BD827BD9BF62

パッケージ認証のためのキーを追加。

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
$ sudo apt-get update
$ apt-cache show nginx

apt-cache show で確認すると、一番上に 1.4.2-1~precise というバージョンがでてくる。公式みると 1.5.6 が最新みたいだけど面倒なのでこのままインストール。

$ sudo install nginx
$ nginx -v
nginx version: nginx/1.4.2

Nginx の設定ファイルを修正

$ sudo vi /etc/nginx/conf.d/default.conf

location ディレクティブに、ルートディレクトリの設定が最初から書いてあるが、それはそのままにしておいて、下記の jenkins ディレクトリ設定を後方に追加する。

location /jenkins {
    proxy_pass http://localhost:8080;
}

再起動。

$ sudo service nginx restart

Jenkins の設定ファイルを修正

Jenkins 側も /jenkins でアクセスできるように変更する。

$ sudo vi /etc/default/jenkins 

最下行の起動パラメータの最後に --prefix=/jenkins を追記。

JENKINS_ARGS="--webroot=$JENKINS_RUN/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --preferredClassLoader=java.net.URLClassLoader --prefix=/jenkins"

再起動。

$ sudo service jenkins restart

おわり

これで、Windows の Webブラウザから http://localhost/jenkins にアクセスすれば使えるようになってる。