Rational Build Forge と Rational ClearQuest
BuildForge は、ビルド・レコードの更新のために Rational ClearQuest と協働することができます。
Build Forge と ClearQuest の統合には、以下の 2 つがあります。
- ジョブ状況に基づくビルド・レコードの自動作成または自動更新。 この機能は、必要な環境変数がプロジェクト環境で設定されると、自動的にアクティブになります。
- ClearQuest アダプター
これらの機能は、それぞれ完全に独立しています。 特に、アダプターは、そのアダプター用に作成された環境と関連付けられています。 その環境内の変数は、自動ビルド・レコードをアクティブにするために設定される変数とは無関係です。
ビルド・レコードの自動生成のセットアップ
IBM Rational® ClearQuest® データベース内に、ログ・データへのリンクを含むビルド・レコードが自動的に作成されます。 さらに、ジョブが成功すると、システムは ClearQuest データベースを更新し、ジョブが完了したことを示してから、完遂したステップの終了時刻および要約を記録します。この機能には、Rational ClearQuest バージョン 7.0 以降が必要となります。
- ジョブの開始
- システムは、ジョブを起動すると、ClearQuest ビルド・レコードを作成します。ビルド・レコードは「実行依頼済み (Submitted)」状態になり、「ビルド XYZ が開始しました」というログ・エントリーに加えて、ジョブ・ログの URL、開始時刻、リリース名、および ID がレコードに含まれます。ソース制御アダプターがジョブをキャンセルすると (例えば、ソースの変更がなかったため)、ClearQuest ビルド・レコードは作成されません。
注: あるプロジェクトが別のプロジェクトをチェーニングすると、新規プロジェクトはそれ固有の ClearQuest ビルド ID を取得します。
- ジョブの成功または失敗
- ジョブが成功または失敗すると、ClearQuest 内のビルド状態が「完了」または「失敗」に変更され、ビルド終了時刻が設定され、ClearQuest ビルド・ログにジョブのステップの要約が保管されます。要約には、各ステップの名前、結果状況、およびサーバーが含まれます。
- ジョブの再開
- ジョブを再開すると、ClearQuest 内のビルド状態が「実行依頼済み (Submitted)」になり、「XYZ のビルドが再開しました」という内容の ClearQuest ビルド・ログ・エントリーが作成されます。
ビルド・レコードの自動更新は、特殊な環境変数を使用して構成します。 プロジェクトを ClearQuest データベースとリンクするには、下表の変数がプロジェクトの環境変数に組み込まれていることを確認してください。
Build Forge ジョブからビルド・レコードの自動更新をアクティブにするには、プロジェクトに対して以下の環境変数を設定する必要があります。 これらはステップ・レベルでは機能しません。
変数 |
説明 |
---|---|
CQ_DBNAME |
これは必須です。更新する ClearQuest データベースの名前。 |
CQ_DBSET |
ClearQuest データベースの設定値です。必須ではありません。 デフォルトはブランクです。 |
CQ_INTERACTION |
プロジェクト環境変数に定義済みの正しい環境変数があり、ClearQuest ビルド・レコードの作成が使用可能になっているが、ビルド・レコードを作成したくない場合は、この変数を OFF に設定して、ビルド・レコードの作成を使用不可にします。 ビルド・レコードの作成を使用可能にするには、この環境変数を ON に設定します。 注: ClearQuest アダプターのいずれかを使用している場合は、この環境変数を OFF に設定してください。このアダプターは、ビルド・レコードと直接対話します。
|
CQ_PASSWORD |
これは必須です。ClearQuest データベースにログインするときに使用するパスワードです。必須ではなく、デフォルトはブランクです。 |
CQ_RELEASE_NAME |
これは必須です。ClearQuest データベース内にある更新するリリースの名前です。 |
CQ_USER |
これは必須です。ClearQuest データベースにログインするときに使用するユーザー名です。 |
ClearQuest アダプターのための追加セットアップ要件
ClearQuest アダプター・テンプレート・サンプルでは、ClearCase のスキャン方法と ClearQuest のビルド・レコードの更新方法が提供されます。通常は、これにより Build Forge で実行されるビルドの成否が左右されます。一般要件については、アダプター要件を参照してください。 また、以下の構成を行う必要があります。
- ソースをスキャンするための ClearCase へのアクセス権限。ジョブの実行時に、アダプターはエージェントと ClearCase クライアントを介して cleartool コマンドを実行します。アダプターは ClearQuest Perl API (cqperl) を使用してコマンドを実行します。
- ビルド・レコードを更新するための ClearQuest へのアクセス権限。ジョブの実行時に、アダプターはコンソール・ホスト上で直接 cqperl スクリプトを実行します。スクリプトは Cqperl ユーティリティーによって解釈され、ClearQuest クライアントを介して実行されます。このユーティリティーとクライアントは、両方ともコンソール・ホスト上にインストールされています。
以下を実行します。
- Build Forge エージェントを、ClearCase サーバーに接続可能なホスト上にインストールします。
- エージェント・ホストに ClearCase のフル・クライアントをインストールします。
- ClearCase クライアントからコマンドを実行できるように、エージェントの環境をセットアップします。
- Build Forge コンソール・ホストに ClearQuest のフル・クライアントをインストールします。
- cqperl (ClearQuest Perl API) ディレクトリーをシステム・パスに追加します。
- Build Forge ホスト上の ClearQuest クライアントが ClearQuest データベースにアクセスする際に使用できる接続を定義します。以下のアクションを ClearQuest クライアント・ホストで実行します。
- cqreg コマンドを使用して、データベース・セットを追加する (cqreg add_dbset)。
- CQ メンテナンス・ツールを使用して、ClearQuest データベースへの接続をセットアップする。
- 必要な ClearCase ビューを実装する方法、およびそのビューをいつどのように開始するかを決定します。

エージェントをインストールする必要はありません。 ClearQuest アダプターは、ClearQuest Perl API を使用して、クライアントを介して ClearQuest と直接通信します。
ClearQuest のアダプター・テンプレート・サンプル
以下のアダプター・テンプレート・サンプルが用意されています。
- ClearQuestBaseClearCaseByDate
- 2 つの日付の間に変更がないか、ClearCase ビューを照会します。 デフォルトの日付は、現行のタイム・スタンプおよび前のアダプター実行時のタイム・スタンプです。
- 変更された各ファイルについて、ClearQuest 変更 ID を指定する CrmRequest ハイパーリンク属性を探します。 ClearQuest 状況により解決が可能な場合は、ジョブ情報を追加して変更 ID の解決を試行し、ClearQuest 内の不良レコードを解決します。
- 変更された各ファイルに関して、次の情報を BOM レポートに書き込みます: ファイル名、不良 ID、不良状況、および ClearQuest エラー。
このアダプター・テンプレートで定義される変数は以下のとおりです。
- CurDate
- LAST_RUN
- VIEW
- VOB_PATH
- CQ_USER
- CQ_PASSWORD
- BFSERVER
- UNIXCLIENT
- _CHAR_NATIVE
- ClearQuestClearCaseByActivity
- ClearCase アクティビティーのリストに関連付けられた ClearQuest 不良レコードを検出します。
- 検出された各不良レコードについて、ClearQuest 状況により解決が可能な場合は、ジョブ情報を追加して ClearQuest 内の不良レコードを解決します。
- ClearCase アクティビティー ID および ClearQuest 不良状況に関連付けられたファイルに関する情報を、BOM レポートに書き込みます。
このアダプター・テンプレートで定義される変数は以下のとおりです。
- CurDate
- VIEW
- VOB_PATH
- ACTIVITIES
- CQ_USER
- CQ_PASSWORD
- PROJECT_VOB
- BFSERVER
- UNIXCLIENT
- _CHAR_NATIVE
- ClearQuestUCMClearCaseByDate
- 2 つの日付の間に変更がないか、ClearCase ビューを照会します。 デフォルトの日付は、現行のタイム・スタンプおよび前のアダプター実行時のタイム・スタンプです。 これは、Rational 統一変更管理 (UCM) を使用して、結果を生成します。
- 変更された各ファイルに関して、次の情報を BOM レポートに書き込みます: ファイル名、不良 ID、不良状況、および ClearQuest エラー。
このアダプター・テンプレートで定義される変数は以下のとおりです。
- CurDate
- LAST_RUN
- VIEW
- VOB_PATH
- CQ_USER
- CQ_PASSWORD
- BFSERVER
- UNIXCLIENT
- _CHAR_NATIVE
ClearQuest のアダプター変数
この表は、アダプター・テンプレートの変数リストのリファレンスです。
変数 |
説明 |
---|---|
ACTIVITIES | ClearQuestClearCaseByActivity アダプターの場合、 スペースで区切られた、アクティビティー ID のセット。例: SAMPL0001@¥ProjectVob |
BFSERVER | この変数を、Build Forge コンソールのホストの名前に設定します。 |
CQ_PASSWORD |
これは必須です。ClearQuest データベースにログインするときに使用するパスワードです。必須ではなく、デフォルトはブランクです。 |
CQ_USER |
これは必須です。ClearQuest データベースにログインするときに使用するユーザー名です。 |
CurDate | 現在の日付をアダプターに指定します (日付の生成には .date コマンドを使用します)。 この値は変更しないでください。 |
LAST_RUN | ByDate アダプターの場合、システムはこの値を使用して、何らかの変更が発生したか判別します。この値は、最後に正常に実行されたときの日付です。 アダプターのテストの際には、この値を操作し、変更より前であると分かっている日付を取り出して、アダプターを強制的に実行させることができます。アダプターが実行の継続を許可した場合、この値は、現在の日付に自動的に更新されます。 デフォルト値は、1-Jan-05.00:00:00 です。 |
UNIXCLIENT | プラットフォーム固有の情報を設定するために使用されます。 クライアントが Windows 上で実行されている場合は、0 に設定します。 クライアントが UNIX または Linux 上で実行されている場合は、1 に設定します。 |
VIEW | この変数を、アダプターで使用する ClearCase ビューの名前に設定します。 |
VOB_PATH | この値を、コンポーネント VOB の名前 (オプションで、そのサブディレクトリー) に設定します。名前が複数ある場合は、コンマ区切りのリストを使用します。 |
_CHAR_NATIVE | 内部で使用され、常に 1 に設定されます。 |
ClearQuest 統合ジョブの再始動
ClearQuest 統合が完了すると、通常は Rational Build Forge で再始動することはできなくなります。 これは、ジョブを新規ジョブとして開始すれば簡単に回避できます。再始動を有効にするには、ClearQuest デザイナー・ツールで ClearQuest スキーマを編集してください。 「完了」から「作成」の状態遷移を可能にするには、ビルド・レコードのワークフローを変更する必要があります。