Jenkins をインストール


Ubuntu サーバーに Jenkins をインストールしたのでその覚え書きです。 Apache のプロキシを利用して, www.example.com/jenkins/ にアクセスすると Jenkins のホームページが表示されるようにします。

Ubuntu の公式リポジトリでは Jenkins は提供されていないので, Jenkins のリポジトリを利用します。リンク先に書いてある通りにやるだけです。次の行を /etc/apt/sources.list に追加。

deb http://pkg.jenkins-ci.org/debian binary/

以下のコマンドを実行。

wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo aptitude update
sudo aptitude install jenkins

デフォルトでは Jenkins は 8080 番ポートを利用しますが,他のサーバーがこのポートを利用している場合は起動に失敗します。失敗した場合は次の設定ファイルでポート番号を変更してから以下のコマンドで起動します。

sudo /etc/init.d/jenkins start  # 再起動は restart。

Jenkins の設定ファイルは /etc/default/jenkins です。これを修正します。

# 8080 番ポートを別のサーバーが利用している場合は変更する。
HTTP_PORT=8080
# 末尾に --prefix=/jenkins を追加
JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --prefix=/jenkins"

Apache のプロキシを利用するために, mod_proxy を有効化します。

sudo a2enmod proxy
sudo a2enmod proxy_http

Apache のサイト設定ファイルに以下を追加します。

# 自分の環境に合わせて適当に設定。以下は全部許可。
<Proxy *>
   Allow from all
</Proxy>

# 上でポート番号を変えている場合は適宜修正。
ProxyPass /jenkins http://127.0.0.1:8080/jenkins
ProxyPassReverse /jenkins http://127.0.0.1:8080/jenkins
RedirectMatch permanent ^/jenkins$ /jenkins/

最後に Apache を再起動して完成。

sudo /etc/init.d/apache2 restart

http://www.example.com/jenkins にアクセスすると Jenkins の管理画面が表示されます。セキュリティ関連は個人のお好みで。

さて,インストールしたのは良いのですが,何に使おうかは考え中です。とりあえずは CRON ジョブを Jenkins に置き換えてみようかな。