Hudsonは、一般に使用されている継続的インテグレーション・サーバー製品です。これを使用すると、ビルド・ジョブを定義し、これらのジョブの実行を管理できます。必要に応じて、ビルド・サーバーのファームまで拡張できます。
この章では、Hudsonをインストールしてビルド・プロセスを自動化するように構成する方法、およびMavenを使用してHudsonを統合する方法について説明します。
この章の構成は、次のとおりです。
Hudsonのインストールを開始する前に、継続的インテグレーション・システムの次のコンポーネントが構成されていることを確認します。
Hudsonの最新の製品バージョンは、次の場所から直接ダウンロードできます。
Hudsonは2つの異なるバージョンに分かれています。
スタンドアロンとして実行するか、または既存のアプリケーション・サーバー・インストールに追加できるWARファイル。
特定のオペレーティング・システム向けにコンパイルされているLinux RPM。RPMおよび必要な依存性をインストールするために、適切なリポジトリ形式のパッケージ管理サポートを利用できます。
このマニュアルでは、Oracle LinuxおよびWindowsのインストールについて重点的に説明します。他のオペレーティング・システムの詳細は、これらと異なる場合があります。各タイプのインストール手順については、http://wiki.eclipse.org/Hudson-ci/Installing_Hudson
を参照してください。
この章の内容は次のとおりです。
YUMをサポートするLinuxコンピュータで、次のコマンドを実行します。
sudo wget -O /etc/yum.repos.d/hudson.repo http://hudson-ci.org/redhat/hudson.repo sudo yum check-update sudo yum install hudson
これにより、Hudsonがデーモンとしてインストールされ、Hudsonユーザーが作成されます。このユーザーは、ビルド・ジョブ関連アクティビティを実行するために、サーバーによって使用されます。
Hudson WAR配布をダウンロードし、次のコマンドを実行して、スタンドアロン・モードでこれを開始します。
java -jar hudson-3.2.1.war
Hudsonが開始したら、次の手順を実行します。
次のURLをWebブラウザで開きます。
http://localhost:8080
「Manage Hudson」→「Install as Windows Service」の順に移動します。これで、HudsonをスタンドアロンWindowsサービスとして構成できます。
手順については、次を参照してください。
http://wiki.eclipse.org/Hudson-ci/Installing_Hudson_Windows_Service
アーティファクト・リポジトリおよび継続的インテグレーション・サーバーに単一ホストを使用している場合、Hudsonが使用するHTTPポートを変更する必要があります。
Linuxの場合
この値は、/etc/sysconfig/hudson
ディレクトリのHUDSON_PORT
に存在しています。
Windowsの場合
この値は、c:\ciroot\hudson\etc\sysconfig\hudson
ディレクトリに存在しています。
Hudsonを開始するには、次の手順を実行します。
Linuxの場合
Hudsonをサービスとしてインストールしている場合は、次のコマンドを実行してアプリケーションを開始できます。
/etc/init.d/hudson start
次のディレクトリのログを確認すると、起動を監視できます。
/var/log/hudson/hudson.log
ログを監視するには、次のコマンドを実行します。
tail -f /var/log/hudson/hudson.log
Windowsの場合
Windowsで通常サービスとしてHudsonを開始します。
「コントロール パネル」に移動します。
「管理ツール」→「サービス」の順に移動します。
Hudsonサービスを選択し、「開始」をクリックします。
Hudsonログは次の場所にあります。
HUDSON_HOME/logs
この章の内容は次のとおりです。
最初にHudsonを起動したときには、ホーム・ページに移動してインストールを完了します。
ブラウザを開き、http://localhost:8080
に移動します(インストール中にポートを変更した場合は、これを変更します)。
表示されたプラグインのリストを下にスクロールして、「Subversion」、「Maven 3」および「Maven 3 SNAPSHOT Monitor」オプションを探し、これらのオプションを選択します。
一番下までスクロールし、「Install」をクリックします。
「Finish」をクリックし、Hudsonホーム・ページに移動します。
この項の構成の残りの部分は、Hudsonホーム・ページから続行し、ログインしていることを前提とします。
ダイレクトJavaビルド構成に使用する予定のJDKを構成する必要があります。構成するには、次の手順を実行します。
Hudsonホーム・ページから、「Manage Hudson」、「Configure System」の順に移動します。
「Configure System」画面で、「JDK」セクションまで下にスクロールし、「Add JDK」をクリックして、オプション「Install automatically」の選択を解除してから、jdk1.7.0
などの名前を入力し、インストールされているJDKの完全パスを追加します。
たとえば、/ciroot/product_binaries/jdk1.7.0
などです。
ページの一番下までスクロールし、「Save」をクリックします。
Maven 3の場所を指定して、Mavenの場所をHudsonが認識できるようにする必要があります。これを行うには、次の手順を実行します。
Hudsonホーム・ページから、「Manage Hudson」、「Configure System」の順に移動します。
「Configure System」画面で、セクション「Maven 3」まで下にスクロールします。
「Add Maven」をクリックした後、次の図に示すように、オプション「Install automatically」の選択を解除し、名前とMavenインストールへのパスを入力します。
ページの一番下までスクロールし、「Save」をクリックします。
HudsonからMaven設定を利用するには、settings.xmlの内容をHudsonのグローバルMaven構成の設定オブジェクトに組み込みます。
Hudsonホーム・ページから、「Manage Hudson」、「Maven 3 Configuration」の順に移動します。
「Add」をクリックします。
「Type」で「SETTINGS」を選択します。
名前および説明(オプション)を入力します。
(第5章で構成した)ファイル・システムにあるsettings.xmlで、内容をページの一番下にある大きいテキスト・フィールドにコピーします。/$HOME/.m2/settings.xml
にあります。
「Save」をクリックします。
注意: オラクル社では、settings.xmlにあるlocalhostのURL参照を完全修飾ドメイン名またはIPアドレスで置き換えることをお薦めしていますが、これは、Hudsonビルドが最終的には非ローカル・ビルド・ホストで発生するためです。 |
Hudsonジョブでは、ジョブ固有の環境変数のカスタマイズが必要になる場合があります。デフォルトでは、Hudsonはこれをサポートしていないため、追加のプラグインをインストールする必要があります。プラグインをインストールするには、次の手順を実行します。
Hudsonホーム・ページから、「Manage Hudson」、「Manage Plugins」の順に移動します。
「Available」を選択します。
「Hudson Setenv Plugin」を選択します。
「Install」をクリックします。
インストールの完了後、Hudsonの再起動オプションを使用してプラグインを有効にします。
変更がチェックインされたときに自動ビルドを構成するには、アーティファクト・リポジトリのSNAPSHOTデプロイメント変更を監視するように、Hudsonを構成する必要があります。このような変更は、変更されたアーティファクトに対する依存性を持つために影響を受けるコンポーネントのビルドをトリガーします。アーティファクト・リポジトリを監視するようにHudsonを構成するには、次の手順を実行します。
Hudsonホーム・ページから、「Manage Hudson」、「System Configuration」の順に移動します。
「System Configuration」のメイン・システム構成パネルで、「Maven 3 SNAPSHOT Monitor」を選択します。Mavenリポジトリへのパスを入力します。
第4章で、継続的インテグレーション・サーバーがリポジトリにアクセスできるように、継続的インテグレーション固有のユーザーを作成しました。継続的インテグレーション・ユーザーの「User」および「Password」を設定します。
アーティファクト・リポジトリの依存性更新を監視する以外に、継続的インテグレーション・サーバーではソース・コントロール・システムの更新を常に確認し、それに応じてプロジェクト・ビルドをトリガーする必要があります。リポジトリ監視とは異なり、ソフトウェア構成管理の監視は、ビルド構成ごとに一意に構成する必要があります。新しいビルド構成を作成する場合は、関連プロジェクトのSubversionの場所情報を設定する必要があります。詳細は、16.3項を参照してください。
Subversionのサポートは、基本のHudson配布に同梱されています。その他のソース・コントロール・システムでは、別個のHudsonプラグイン・インストールが必要になる場合があります。
Hudsonの公式マニュアルのプライマリ・ソースは次の場所にあります。
http://wiki.hudson-ci.org/display/HUDSON/Use+Hudson
新規ユーザーの場合は、次の場所でHudsonの導入ガイドを参照できます。
http://wiki.eclipse.org/Hudson-ci/Using_Hudson
Hudsonのマニュアルは次の場所にあります。