はじめに
- jenkis を apache のリバースプロキシ(mod_proxy)配下で動かしたい
参考
対処のサマリ
- 起動時の引数を修正して jenkins の起動パスを修正する
- 起動時の引数は
JENKINS_ARGS
にて指定可能 Debian
系は/etc/default/jenkins
に設定されている
デモ
jenkins 単体での起動
サマリの通り /etc/default/jenkins
の JENKINS_ARGS
にて --prefix=
を指定して起動する。
Wheezy への jenkins インストール(余談)
念の為 Debian Wheezy
へ jenkins
のインストール手順をメモっておく。
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
としてアクセスすることになる。
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
としてアクセスしてみる。
最後に
- じぇじぇじぇ!