Hudsonは、一般に使用されている継続的インテグレーション・サーバー製品です。これを使用すると、ビルド・ジョブを定義し、これらのジョブの実行を管理できます。必要に応じて、ビルド・サーバーのファームまで拡張できます。
この章では、Hudsonをインストールしてビルド・プロセスを自動化するように構成する方法、およびMavenを使用してHudsonを統合する方法について説明します。
この章の構成は、次のとおりです。
インストールを開始する前に、継続的インテグレーション・システムの次のコンポーネントが構成されていることを確認します。
Hudsonの最新の製品バージョンは、次の場所から直接ダウンロードできます。
Hudsonは2つの異なるバージョンに分かれています。
スタンドアロンとして実行するか、または既存のアプリケーション・サーバー・インストールに追加できるWARファイル。
特定のオペレーティング・システム向けにコンパイルされているLinux RPM。RPMおよび必要な依存性をインストールするために、適切なリポジトリ形式のパッケージ管理サポートを利用できます。
このマニュアルでは、Oracle LinuxおよびWindowsのインストールについて重点的に説明します。他のオペレーティング・システムの詳細は、これらと異なる場合があります。各タイプのインストール手順については、http://wiki.hudson-ci.org/display/HUDSON/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-2.2.1.war
Hudsonが開始したら、次の手順を実行します。
次のURLをWebブラウザで開きます。
http://localhost:8080
「Manage Hudson」→「Install as Windows Service」の順に移動します。これで、HudsonをスタンドアロンWindowsサービスとして構成できます。
手順については、http://wiki.hudson-ci.org/display/HUDSON/Installing+Hudson+as+a+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
次のディレクトリのログを確認すると、Linuxで起動を監視できます。
/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にログインします。
http://HOSTNAME:HUDSON_PORT
「Manage Hudson」→「Configure System」の順に移動します。
「Configure System」画面で、「JDK」セクションまで下にスクロールし、「Add JDK」をクリックして、オプション「Install automatically」の選択を解除してから、jdk1.7.0
などの名前を入力し、インストールされているJDKの完全パスを追加します。
たとえば、/ciroot/product_binaries/jdk1.7.0_21
などです。
ページの一番下までスクロールし、「Save」をクリックします。
Maven 3の場所を指定して、Mavenの場所をHudsonが認識できるようにする必要があります。これを行うには、次の手順を実行します。
Hudsonにログインします。
http://HOSTNAME:HUDSON_PORT
「Manage Hudson」→「Configure System」の順に移動します。
「Configure System」画面で、セクション「Maven 3」まで下にスクロールします。
「Add Maven」をクリックした後、次の図に示すように、オプション「Install automatically」の選択を解除し、名前とMavenインストールへの完全パスを入力します。
ページの一番下までスクロールし、「Save」をクリックします。
HudsonからMaven設定を利用するには、settings.xml
の内容をHudsonのグローバルMaven構成の設定オブジェクトに組み込みます。
Hudsonにログインします。
http://HOSTNAME:HUDSON_PORT
「Manage Hudson」→「Maven 3 Configuration」の順に移動します。
「Add」をクリックします。
「Type」で「SETTINGS」を選択します。
名前および説明(オプション)を入力します。
第5章で構成したファイル・システムでsettings.xml
を検索し、内容をページの一番下にある大きいテキスト・フィールドにコピーします。これは、/$HOME/.m2/settings.xml
ディレクトリにあります。
「Save」をクリックします。
注意: オラクル社では、 |
Hudsonジョブでは、ジョブ固有の環境変数のカスタマイズが必要になる場合があります。デフォルトでは、Hudsonはこれをサポートしていないため、追加のプラグインをインストールする必要があります。プラグインをインストールするには、次の手順を実行します。
Hudsonにログインします。
http://HOSTNAME:HUDSON_PORT
「Manage Hudson」→「Manage Plugins」の順に移動します。
「Available」を選択します。
「Hudson Setenv Plugin」を選択します。
「Install」をクリックします。
インストールの完了後、Hudsonの再起動オプションを使用してプラグインを有効にします。
変更がチェックインされたときに自動ビルドを構成するには、アーティファクト・リポジトリのSNAPSHOTデプロイメント変更を監視するように、Hudsonを構成する必要があります。このような変更は、変更されたアーティファクトに対する依存性を持つために影響を受けるコンポーネントのビルドをトリガーします。アーティファクト・リポジトリを監視するようにHudsonを構成するには、次の手順を実行します。
Hudsonにログインします。
http://HOSTNAME:HUDSON_PORT
「Manage Hudson」→「System Configuration」の順に移動します。
「System Configuration」のメイン・システム構成パネルで、「Maven 3 SNAPSHOT Monitor」を選択します。継続的インテグレーション・サーバーがリポジトリにアクセスできるように、Archiva構成手順で、継続的インテグレーション固有のユーザーを作成しておく必要があります。Mavenリポジトリへのパスを入力します。
継続的インテグレーション・ユーザーの「User」および「Password」を設定します。
アーティファクト・リポジトリの依存性更新を監視する以外に、継続的インテグレーション・サーバーではソース・コントロール・システムの更新を常に確認し、それに応じてプロジェクト・ビルドをトリガーする必要があります。リポジトリ監視とは異なり、ソフトウェア構成管理の監視は、ビルド構成ごとに一意に構成する必要があります。新しいビルド構成を作成する場合は、関連プロジェクトのSubversionの場所情報を設定する必要があります。詳細は、12.3項を参照してください。
Subversionのサポートは、基本のHudson配布に同梱されています。その他のソース・コントロール・システムでは、別個のHudsonプラグイン・インストールが必要になる場合があります。
Hudsonの公式マニュアルのプライマリ・ソースは次の場所にあります。
http://wiki.hudson-ci.org/display/HUDSON/Use+Hudson
新規ユーザーの場合は、次の場所でHudsonの導入ガイドを参照できます。