ズッキーニのプログラミング実験場

プログラミング + アカデミック + 何か面白いこと。 記載されているものは基本的に私が所属する団体とは関係がありません。

   Mar 02

[Ubuntu][Jenkins]インストールとApache連携

by zuqqhi2 at 2013年3月2日
Pocket

Jenkinsを仕事で使っていて、自宅でも使いたいと思ってインストールしてみた。
Jenkins Apache 上で動かす。

Jenkinsのインストール

検索してみるとまず下のコマンドを打つって書いてあることが多いけど、

sudo wget -q -0 - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -

gpg: 有効なOpenPGPデータが見つかりません。

というエラーが出て実行できなかった。

そこで、kerserver.ubuntu.comをキーサーバとしてキーを取得することにした。

$ sudo vim /etc/apt/sources.list
deb http://pkg.jenkins-ci.org/debian binary/
$ sudo apt-get update
W: GPG error: http://ppa.launchpad.net jaunty Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: 
NO_PUBKEY 1A2B3C4D5E6F7G8H

ここで、必要なキーがでるため、このキーを取得する。

$ gpg --keyserver keyserver.ubuntu.com --recv-keys 1A2B3C4D5E6F7G8H
gpg: 鍵12345678をhkpからサーバーwwwkeys.eu.pgp.netに要求
gpg: 鍵12345678: 公開鍵“Launchpad PPA for TualatriX”を読み込みました
gpg: 処理数の合計: 1
gpg:               読込み: 1  (RSA: 1)
$ gpg --export --armor 1A2B3C4D5E6F7G8H | sudo apt-key add -
OK

これで、認証キーの登録が出来たから、後はjenkinsをインストールする。

$ sudo apt-get update
$ sudo apt-get install jenkins

インストール完了。後はjenkinsの設定ファイルを書き換える。

$ sudo vim /etc/default/jenkins
# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=9090
$ sudo service jenkins restart

とりあえず、9090にして再起動。
これで、localhost:9090でアクセスできるようになった。

Apacheの設定

次に、リバースプロキシを設定してexample/jenkinsでアクセスできるように設定する。

まずは、jenkinsの設定ファイルを書き換える。

$ sudo vim /etc/default/jenkins
JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --prefix=/jenkins"
$ sudo service jenkins restart

prefixに/jenkinsを追加する。これでjenkins側での/jenkinsでアクセスする準備が出来た。

mod_proxyを有効にしていなかったら、次のコマンドで有効にしておく。

$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_connect

次に、jenkinsのサイト設定をApacheに追加する。
そして、サイトを有効にする

$ sudo vim /etc/apache2/sites-available/jenkins
 <VirtualHost *:80>
     ServerName hameln.server-on.net
     ProxyRequests off
     ProxyPass /jenkins http://localhost:9090/jenkins
     <Location /jenkins>
        AuthType Basic
        AuthName "jenkins"
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user
 
        ProxyPassReverse http://localhost:9090/jenkins
        ProxyPassReverseCookieDomain localhost hameln.server-on.net
        ProxyPassReverseCookiePath / /
        Order allow,deny
        Allow from all
     </Location>
</VirtualHost>
$ cd /etc/apache2/sites-available/
$ sudo a2ensite jenkins
$ sudo /etc/init.d/apache2 restart

これで、
example/jenkins
でアクセスできるようになった!!

Related Posts

Pocket

You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.