ようへいの日々精進XP

よかろうもん

じぇじぇじぇ jenkins を apache の mod_proxy 配下で動かす為のメモ

はじめに

  • jenkis を apache のリバースプロキシ(mod_proxy)配下で動かしたい

参考


対処のサマリ

  • 起動時の引数を修正して jenkins の起動パスを修正する
  • 起動時の引数は JENKINS_ARGS にて指定可能
  • Debian 系は /etc/default/jenkins に設定されている

デモ

jenkins 単体での起動

サマリの通り /etc/default/jenkinsJENKINS_ARGS にて --prefix= を指定して起動する。

Wheezy への jenkins インストール(余談)

念の為 Debian Wheezyjenkins のインストール手順をメモっておく。

sudo apt-get install openjdk-6-jdk
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo echo "deb http://pkg.jenkins-ci.org/debian binary/" >> /etc/apt/sources.list
sudo apt-get update && sudo apt-get -y install jenkins

/etc/default/jenkins の修正

--prefix=/ci を追加した。

--- jenkins.original    2013-10-31 21:37:06.061321601 +0000
+++ jenkins     2013-10-31 21:37:53.509322729 +0000
@@ -56,4 +56,4 @@
 # --webroot=~/.jenkins/war
 # --prefix=$PREFIX

-JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT"
+JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --prefix=/ci"

起動

/etc/init.d/jenkins restart で再起動を行った後は http://xxx.xxx.xxx.xxx:8080/ci としてアクセスすることになる。

f:id:inokara:20131101071431p:plain

apache 経由

mod_proxy を有効にする

Debian 系の OS では以下のようにしてモジュールを有効にする。

sudo a2enmod proxy
sudo a2enmod proxy_http

/etc/apache2/mods-enabled/proxy.conf を修正する

/etc/apache2/mods-enabled/proxy.conf に以下を追記する。

ProxyRequests     Off
ProxyPass         /ci  http://localhost:8080/ci
ProxyPassReverse  /ci  http://localhost:8080/ci

再起動を行った後は http://xxx.xxx.xxx.xxx/ci としてアクセスしてみる。上記の例では jenkins 側のパス(/ci)と apache 側のパス(/ci)は一致させる必要があるので注意する。

アクセスする

http://xxx.xxx.xxx.xxx/ci としてアクセスしてみる。

f:id:inokara:20131101070954p:plain


最後に

  • じぇじぇじぇ!