Jenkinsのセットアップ

-概要-
jenkinsのインストール(セットアップ)の方法について述べる。
「warファイルから実行する方法」と「Windowsインストーラを使用する方法」の2種類の方法について書く。

-前置き-
jenkinsをインストールするにはjavaが必要となるので、環境が整っていなければ整える。
Javaのセットアップについて - smallplaceの日記

-warファイルによるインストール-
・Jenkins(war)のダウンロード
以下のページの右側のメニューよりダウンロードを行う。
Jenkins

ダウンロードしたwarファイルに対して、コマンドプロンプトよりコマンド実行することで、Jenkinsの実行(セットアップ)を行うことができる。

この方法の問題点として、JENKINS_HOME(Jenkinsの各種設定ファイル群が入るフォルダ)がユーザーのドキュメント&セッティングスの直下に作成されてしまうことが挙げられる。
環境変数を使用してJENKINS_HOMEを変更する方法で、JENKINS_HOMEとなるディレクトリを変更することは可能であるが、Jenkinsを複数インスタンス稼働させた際に同一のJENKINS_HOMEを参照するため競合してしまう。
WindowsインストーラからJenkinsをインストールする際にJENKINS_HOMEを変更する方法を調査中。知っている方いましたら教えてください。
一台のマシン上にJenkinsのインスタンスを複数立ち上げる方法についてはこのページの「Jenkinsの設定を変える方法」を参照してください。*


-Jenkins(msi)のダウンロード-
warファイルのダウンロードと同様に上記のページからWindows版のインストーラをダウンロードすることができる。

ダウンロードしたzipファイルの中にあるsetupを実行し、インストールを行う。
インストールを行う際に、インストールするフォルダ(デフォルトだとドキュメント&セッティングスだったかと思う)を指定する。
ここで指定したフォルダが後のJENKINS_HOMEになる。

インストールが完了するとWindowsのサービスとしてJenkinsが登録された状態まで行われる。



サービスを削除するためには以下の手順で作業を行う。
1.サービスが実行中であれば停止する。

2.コマンドプロンプトよりディレクトリをJENKINS_HOME(インストールしたフォルダ)まで移動する。

3.コマンドを実行する。

jenkins.exe unistall



逆にWindowsのサービスに登録したい場合は以下の手順で作業を行う。
1.コマンドプロンプトよりディレクトリをJENKINS_HOME(インストールしたフォルダ)まで移動する。

2.コマンドを実行する。

jenkins.exe install
jenkins.exe start

(3).上記のstartコマンドの代わりにサービスからGUIを使用して実行してもよい。



Jenkinsのサービス化にあたり、登録されるサービス名(サービスID)や使用するポート番号(http、ajp13)を変更したい場合は以下の手順で作業を行う。
1.上記の「サービスの削除」の手順を実行する。
以下に書く設定の変更を行ってからだと正しくサービスを消すことができない可能性があるため、サービスの設定を変更する前に削除を行うこと。

2.Jenkinsの設定を変更する。
jenkins_home内にあるjenkins.xmlを開く。
・「id」、「name」タグに設定したいサービス名を記入する。(デフォルトだとjenkinsになっているはず)
・「arguments」タグに以下の設定を加える。

--httpPort=8180 --ajp13Port=8181 --prefix=/jenkinsA

上記の例ではhttpポートを8180(デフォルトでは8080ポートになっているはず。ほぼ他のアプリケーションと衝突する人気ポートのため変更)、ajp13のポートを8181(デフォルトでは設定されていなかったと記憶)、プレフィックスをjenkinsA(この設定により、http://localhost:8180/jenkinsAとなる。)

3.上記のサービスの登録の手順を実施し、設定後のJenkinsをサービスに登録する。
*上記の作業によって、ポートを変えた複数のJenkinsを同一マシン内のWindowsサービスとして立ち上げることができる。*

-まとめ-
Windowsでjenkinsを立てるのであればインストーラを使用する方法が楽。
(サービス化までしてくれるため)
また、JENKINS_HOME問題もインストーラを使用した場合は回避することができた。

Jenkins

Jenkins

Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)