ビルド統合のための Ant ビルド・スクリプトの構成

IBM® Rational® Asset Manager に付属している Ant スクリプトを、 IBM Rational Build Forge® などのビルド・アプリケーションや他のビルド・ユーティリティーと 統合するように構成します。

始める前に

  • Rational Asset Manager のシステム情報を参照する、スクリプト内のプロパティーを設定する必要があります。
  • Publish スクリプトおよび DownloadArtifactLinks スクリプトを実行するためには、ライブラリー・パス上に Ant-Contrib .jar ファイルが必要です。詳しくは、この .jar ファイルを含む圧縮ファイルをダウンロードして、 インストール情報に従ってください。
注: ビルド統合のために Ant ビルド・スクリプトを構成する場合は、スクリプト実行時のクラスパス・エラーを回避するために、ビルド・マシン上で Ant 1.7.0 以降を使用する必要があります。JAVA_HOME 変数を Java フォルダーに設定し、ANT_HOME 変数を Ant インストール・ディレクトリー (1.7.0 以降でなければなりません) に設定します。PATH や CLASSPATH を設定する必要はありません。

手順

  1. ビルド・プロジェクト (Rational Build Forge プロジェクトなど) を作成します。ツール、ライブラリー、および従属コンポーネントがすべて Rational Asset Manager 内のアセットとして使用できる場合は、用意された Ant スクリプトを使用して、これらのアセットに基づいたビルドを実行することができます。 これらのスクリプトは、他のビルド・ユーティリティーおよびソリューションとともに使用することもできます。
  2. Rational Asset Manager に用意されたビルド・プロジェクト用の Ant スクリプトを使用して、ビルドでアセットを使用したり、ビルド結果を新規アセットとして公開したりします。 各スクリプトでは、Rational Asset Manager の Ant タスクを使用します。 スクリプトごとに ramclient.zip をダウンロードして、これをフォルダーに解凍し、ANT スクリプトの 1 つ を実行する際に ANT ライブラリー・パスにこのフォルダーを組み込む必要があります。ramclient.zip ファイルには必要な一連の .jar ファイルおよび Ant スクリプトが含まれています。ramclient.zip ファイルは、デプロイ済みの任意の Rational Asset Manager サーバー・インスタンスの「拡張」ページで入手できます。 http://<hostname>:<port>/ram/ramclient.zip (http://<localhost>:<9080>/ram/ramclient.zip など) から直接アクセスすることもできます。
  3. ビルドで使用されるアセットを参照するために、ramDownloadAsset.xml スクリプトを使用します。

    ramDownloadAsset.xml ファイルは、アセットのコンテンツを (成果物として) ダウンロードするサンプル Ant スクリプトです。 このスクリプトは、ビルドを実行するために一連の承認済みのライブラリーまたは実行可能ファイル (例えば、特殊なコンパイラー、共通コンポーネント、または共通スクリプトなど) を必要とするビルド・プロセスで使用できます。

    DownloadAsset スクリプトでは、以下のプロパティーを設定する必要があります。
    • lib.dir = アセットのコピー先ディレクトリー。
    • ram.url = Rational Asset Manager Web サービス・アプリケーションの URL (Rational Asset Manager Web クライアントで「ヘルプ」アイコンをクリックします。次に「拡張」をクリックし、 「Web サービス」セクションまでスクロールダウンして、「リポジトリー・ロケーション」フィールドを見つけてください)。
    • ram.user.uid = Rational Asset Manager サーバーを使用する際に使用するユーザー ID。
    • ram.user.passwd = Rational Asset Manager サーバーを使用する際に使用するパスワード。
    • ram.asset.quid = アセットの固有 ID (つまり、アセット・ページにある Rational Asset Manager の固有 ID)。
    • ram.asset.version = アセットのバージョン (つまり、アセット・ページにある Rational Asset Manager のバージョン)。
    • build.id = ビルド ID は、このダウンロードの対象となっているビルドを追跡するために Rational Asset Manager が使用します。
    例えば以下のように、これらの値を、ユーザー自身がダウンロードするアセットに置き換えます。
    <property name="lib.dir" value="C:¥libdir" />
    <property name="ram.url" value="http://machine127.ibmtst01.com:9080/ram.ws" />
    <property name="ram.asset.quid" value="{8141FA04-E837-FA50-7052-5269E7C6937C}" /> 
    <property name="ram.asset.version" value="1.0" />
    以下は、Rational Asset Manager に提示される、ダウンロードの対象について記述するオプション・プロパティーです。
    • build.type = ビルドのタイプ (「RTC Daily Build」など)。
    • build.team.area = このビルドの対象となるチームまたはプロジェクト (Rational Asset Manager プロジェクトなど)。
    • build.team.server = このプロジェクトまたはチームの変更元または制御元として使用されるサーバー。
  4. ビルドで参照されるアセットに必要な関係する成果物を参照するには、ramDownloadArtifactLinks.xml スクリプトを使用します。

    ramDownloadArtifactLinks.xml ファイルは、Eclipse プロジェクト成果物から Rational Asset Manager へのリンクを、それらのリンクが指し示す成果物をダウンロードすることによって解決するサンプル Ant スクリプトです。 このスクリプトは、SCM システムからソース・コードが抽出されるビルド・プロセス、および抽出されたプロジェクトに Rational Asset Manager の成果物へのリンクが含まれているビルド・プロセスで使用できます。 Eclipse では、Rational Asset Manager 用のクライアント・プラグインが、これらのリンクを自動的に処理します。

    このスクリプトでは、ANT-CONTRIB (http://ant-contrib.sourceforge.net/) タスク・ユーティリティーを使用します。 ant-contrib-XXX.jar を必ずライブラリー・パス上に置くようにしてください。

    DownloadArtifactLinks スクリプトでは、以下のプロパティーを設定する必要があります。
    • build.dir = rambuildercontrol.xml ファイルが置かれている Eclipse ワークスペース。 すべての Eclipse プロジェクトの抽出先となったディレクトリー・パスです (通常、抽出元は SCM システムです)。
    • ram.url = Rational Asset Manager Web サービス・アプリケーションの URL (Rational Asset Manager Web クライアントで「ヘルプ」 > 「拡張」とクリックし、「Web サービス」セクションまでスクロールダウンして、「リポジトリー・ロケーション」フィールドを参照してください)。
    • ram.user.uid = Rational Asset Manager サーバーを使用する際に使用するユーザー ID。
    • ram.user.passwd = Rational Asset Manager サーバーを使用する際に使用するパスワード。
    • ram.download.result.file = オプションのファイル・パス。 これを設定した場合は、「;」区切りのダウンロード対象アセット・リストを保持する「ram.downloadlist」プロパティーもあります。 (GUID,version,artifact,artifact;GUID,version,artifact,artifact,artifact など)。
    例えば以下のように、これらの値を、ユーザー自身がダウンロードする関係アセットに置き換えます。
    <property name="ram.url" value="http://machine127.ibmtst01.com:9080/ram.ws" />
    <property name="build.dir" value="C:¥Documents and Settings¥Administrator¥Desktop¥RTC Workspace¥" />
    <property name="ram.download.result.file" value="C:¥BuildDir¥publishresults" />
  5. ビルド結果を新規アセットとして公開するために、ramPublishAsset.xml スクリプトを使用します。

    ramPublishAsset.xml ファイルは、アセットのコンテンツを Rational Asset Manager に公開するサンプル Ant スクリプトです。 このスクリプトは、生成された一連の成果物を単一のアセットとして、このアセットの生成に使用された他のアセット (オープン・ソース・コンポーネント/共通コンポーネント、サポートされるプラットフォーム、および仕様など) への依存関係と、このビルドおよび公開されたアセットが実装する内容 (仕様、リリース、または設計など) へのリンクを反映させながら、Rational Asset Manager に公開する必要があるビルド・プロセスで使用できます。

    このスクリプトでは、ANT-CONTRIB (http://ant-contrib.sourceforge.net/) タスク・ユーティリティーを使用します。 ant-contrib-XXX.jar を必ずライブラリー・パス上に置くようにしてください。

    PublishAsset スクリプトでは、以下のプロパティーを設定する必要があります。
    • ram.url = Rational Asset Manager Web サービス・アプリケーションの URL (Rational Asset Manager の「ヘルプ」、「拡張」ページにある「リポジトリー・ロケーション」を参照してください)。
    • ram.user.uid = Rational Asset Manager サーバーを使用する際に使用するユーザー ID。
    • ram.user.passwd = Rational Asset Manager サーバーを使用する際に使用するパスワード。
    • ram.asset.version = アセットのバージョン (つまり、アセット・ページにある Rational Asset Manager のバージョン)。
    • ram.asset.name = アセットの固有名。
    • ram.asset.community = アセットのアップロード先コミュニティー。
    • ram.asset.type = このアセットに使用するタイプ。
    • ram.asset.shortDescription = 簡単な説明。
    • ram.asset.description = このアセットに関する説明。
    • ram.asset.artifacts = 公開されるすべての成果物のディレクトリー構造を保持したアーカイブ・ファイル。
    • ram.release.guid = リリースの一部としてこのアセットに関連付けられた固有の ID。 「実装」関係によって関連付けるアセットです (例えば、アセットを公開する際、アセットを仕様、リリース要件などに関連付けることができます)。
    • ram.release.version = 「実装」アセットのバージョン。
    • build.id = ビルド ID は、このダウンロードの対象となっているビルドを追跡するために Rational Asset Manager が使用します。これは任意のストリングにすることができます。
    例えば、以下のように、これらの値を置き換えてアセットを公開します。
    <property name="ram.url" value="http://machine127.ibmtst01.com:9080/ram.ws" />
    <property name="ram.asset.version" value="1.0" />
    <property name="ram.asset.name" value="Publish Script test" />
    <property name="ram.release.guid" value="{7198899C-3E2A-A3CE-2E76-68BC2A637AD2}" />
    <property name="ram.release.version" value="7.2" />
    <property name="build.id" value="1234" />
    以下は、Rational Asset Manager に提示される、ダウンロードの対象について記述するオプション・プロパティーです。
    • ram.download.result.file = ramDownloadArtifactLinks.xml スクリプトによって作成されるファイルへのオプションのファイル・パス。 これを設定した場合、スクリプトは、このファイルにリストされたすべてのアセットに対して依存関係を設定します。
    • verify.state.name = これを指定した場合、スクリプトは、ram.download.result.file にリストされたすべてのファイルがこの状態 (「Approved」など) であるかどうかを検査します。
    アップロード対象の成果物には、以下の情報が設定されます。
    • build.type = ビルドのタイプ (「RTC Daily Build」など)。
    • build.team.area = このビルドの対象となるチームまたはプロジェクト (Rational Asset Manager プロジェクトなど)。
    • build.team.server = このプロジェクトまたはチームの変更元または制御元として使用されるサーバー。
    • src.repository = このアセットの開発時に使用されたソース/オリジン用のリポジトリー。
    • build.id = このアセットを生成したビルドの ID。
    • build.def.id = このアセットの作成に使用されたビルドのタイプ。
    • build.label = ビルドの説明。
    • build.url = このアセットの生成に使用されたビルドにリンクする URL。
    • src.repository = このアセットの開発に使用されたリポジトリー URL。

ダウンロード・スクリプトの実行例を以下に示します。
ant -v -lib <ramclient jars path> 
-file ramDownloadAsset.xml 
-Dlib.dir=<location where to download the artifacts> 
-Dram.url=<URL to repository location from Extension page> 
-Dram.user.id=<ram uid> 
-Dram.user.passwd=<ram passwd> 
-Dram.asset.quid=<guid> 
-Dram.asset.version=<version> 
-Dbuild.id=<An ID that denotes what this download is for>
これらのスクリプトの使用例については、http://www.ibm.com/support/docview.wss?uid=swg27016509 または http://www.ibm.com/developerworks/offers/lp/demos/summary/r-assetmanagerrbf.html を参照してください。