Build Forge® の概念および目的

Build Forge は単純なオブジェクト・セットを使用してプロセス自動化の記述を構成します。

このセクションでは、主な概念とオブジェクトの概要、およびそれらの関係について説明します。 わかりやすいように、より詳しい説明へのリンクが含まれています。

ユーザーとロール

Build Forge にアクセスするには、ユーザーは、対応するユーザー・オブジェクトをセットアップしておく必要があります。実動システムでこれを行うには、ID 管理システムである LDAP にアクセスするように Build Forge を構成します。

Build Forge は、許可システムを使用して、すべてのオブジェクトへのユーザー・アクセス権を制御します。 アクセス・グループ ・オブジェクトには、アクセス権 のリストが含まれています。ユーザー は、1 つ以上のアクセス・グループに属します。

独自のアクセス・グループを作成したり、用意されているアクセス・グループを変更したりできます。 システムに定義されているアクセス・グループは、次のとおりです。

  • ビルド・エンジニア - プロセスを定義します (プロジェクトとステップを作成します)。
  • システム管理者 - サーバーおよびその他のシステム全体の機能を管理します。
  • セキュリティー - ユーザー、アクセス、およびセキュリティーを管理します。
  • 開発者 - プロセスの開発の支援、ジョブの実行、および結果の表示を行います。
  • オペレーター - プロジェクトのコピー、ジョブの実行、結果の表示を行います。
  • ゲスト - プロジェクトのコピー、ジョブの実行、結果の表示を行います。

サーバー

サーバー ・オブジェクトでは、プロジェクトおよびステップを実行できる場所を定義します。 プロジェクトおよびステップは、同じサーバーを使用することも、個別にサーバーを選択することもできます。

サーバー・オブジェクトは、作業を実行するホストを表します。 ホストは、システムから作業を受け取って結果を返すために、Build Forge エージェントを実行している必要があります。

その他のオブジェクトは、サーバーに関連するため、プロジェクトおよびステップを定義する前にセットアップしておく必要があります。

  • サーバー認証: サーバー認証 には、サーバーで指定されたホストにアクセスする場合に使用する、サーバーのログイン情報を保管します。 サーバー認証は、そのサーバー認証を使用するサーバーを作成する前に作成しておく必要があります。 サーバー定義で、システムに定義されているすべてのサーバー認証のリストからサーバー認証を選択してください。
  • コレクター: コレクター・オブジェクトは、サーバーの指定されたプロパティーを収集します。データは、マニフェスト に保管されます。サーバーには、プロパティーのデフォルト・セットが割り当てられています。これらのビルトイン・プロパティーには、ホスト・アーキテクチャー、ネットワーク接続、およびリソース (CPU、メモリー、負荷) に関する情報が含まれます。その他のプロパティーを追加するには、コレクター・オブジェクトを定義します。コレクターをサーバーに追加するには、事前にコレクターを作成しておく必要があります。 サーバー定義で、システムに定義されているすべてのコレクターのリストからコレクターを選択してください。
  • セレクター: セレクター ・オブジェクトでは、プロジェクトまたはステップで使用するサーバーを選択する方法を定義します。 セレクターを、そのセレクターを使用するプロジェクトに追加するには、事前に作成しておく必要があります。 プロジェクト定義で、システムに定義されているすべてのセレクターのリストからセレクターを選択してください。
  • 環境変数: 環境変数 オブジェクトは、ステップで使用できる一連の変数です。ジョブの際に、ステップが実行される前にサーバー・ホスト上で変数が設定されます。 環境変数は、サーバー・オブジェクト、プロジェクト・オブジェクト、およびステップ・オブジェクトに関連付けることができます。同じ変数が環境変数に応じて異なる値に設定されている場合は、継承スキームによって、使用する値が判別されます。環境変数をサーバー、プロジェクト、またはステップに追加するには、事前に作成しておく必要があります。それらのオブジェクト定義で、システムに定義されているすべての環境変数のリストから環境変数を選択してください。

環境変数

環境変数 は、変数のセットです。 環境変数は、サーバー・オブジェクト、プロジェクト・オブジェクト、およびステップ・オブジェクトに対して指定できます。 ステップの実行時に、それらの各オブジェクトで設定されている環境変数が組み合わされて、使用するステップに対する変数が提供されます。 環境変数についてを 参照してください。

ステップが実行されると、変数が変更される場合があります ステップ実行時の変数値の変更を参照してください。) 変更のスコープは、ステップに対してローカルの場合、プロジェクトに対してローカルの場合、または永続 (変数は格納されている環境で変更されます) の場合があります。

定義済みのシステム変数だけでなく、ユーザー定義の変数も使用可能です。

プロジェクト

プロジェクト では、プロセスで実行する作業を定義します。プロジェクトが開始されると、プロジェクトはジョブとして実行します。

実行する作業は、ステップのリストに含まれます。

プロジェクトに関連するその他のオブジェクトは、次のとおりです。

  • セレクター: セレクター では、プロジェクトを開始する場所を指定します。プロジェクトのセレクターが指定されていない場合、そのプロジェクトは独立して実行できず、ライブラリーと呼ばれます。セレクターをジョブに割り当てるには、事前に定義しておく必要があります。
  • 環境変数: 環境変数 オブジェクトは、ステップで使用できる一連の変数です。ジョブの際に、ステップが実行される前にサーバー・ホスト上で変数が設定されます。 環境変数は、サーバー・オブジェクト、プロジェクト・オブジェクト、およびステップ・オブジェクトに関連付けることができます。同じ変数が異なる値に設定されている場合は、継承スキームによって、使用する値が判別されます。環境変数を使用するサーバー、プロジェクト、またはステップを作成する場合は、事前にその環境変数を作成しておく必要があります。それらのオブジェクト定義で、システムに定義されているすべての環境変数のリストから環境変数を選択してください。
  • 通知テンプレート: 通知テンプレート では、ジョブ・アクティビティー (ジョブの開始、ジョブの成功、ジョブの失敗など) に関する通知の送信方法を定義します。通知オブジェクトでは、アクセス・グループを介して通知担当者を定義します。SMTP サーバーのロケーションは、システム設定で指定します。
  • クラス: クラス ・オブジェクトを使用して、メンテナンスのためのプロジェクトのグループ化を行います。一般に、クラスは、完了済みのジョブを定期的にパージしたりアーカイブしたりする場合に使用します。プロジェクトを使用して実行されたジョブはすべて、クラスの影響を受けます。
  • アダプター: アダプター では、外部システム (一般的には、ソース・コード管理システム) との統合を定義します。 開始点として、複数のサンプル・テンプレートが用意されています。接続を管理し、指定されたアクションをシステムで実行するには、さらに細かく構成する必要があります。
  • アダプター・リンク: アダプター・リンク では、アダプターとそのアダプターを使用するプロジェクト間の関係を定義します。

ステップ

ステップ では、実行する最小作業単位を定義します (ステップについてを参照してください)。そのキー・コンポーネントは、選択したサーバーで実行するコマンドが含まれている、コマンド・プロパティーです。

コマンド・プロパティーを使用して、ドット・コマンドを実行することもできます。ドット・コマンドとは、プロセス・エンジン上で実行して、追加機能を提供するコマンドです。

プロジェクトに関連するその他のオブジェクトは、次のとおりです。

  • セレクター: ステップには、独自のセレクターを割り当てることができます。 セレクターが指定されていない場合は、プロジェクトのセレクターが使用されます。
  • 環境変数: ステップには、独自の環境変数を割り当てることができます。 サーバー、プロジェクト、およびステップに用意されている環境変数が組み合わされます。 デフォルトでは、環境変数はその順序で適用されるため、ステップの環境変数で定義されている変数はすべて、同じ変数の定義に優先します。 優先順位はシステム設定で制御できます。
  • ログ・フィルター: ステップには、結果プロパティーでログ・フィルターを割り当てることができます。 ログ・フィルター・オブジェクトは、ステップの成否を示す条件を指定するために使用されます。 Perl エンジンを実行している場合は、正規表現を使用してログをスキャンし、特定のパターンを見つけます。 また、Java エンジンを実行している場合も、正規表現を使用してログをスキャンし、特定のパターンを見つけます。 通常はコマンドの終了状況が使用されますが、ログ・フィルターでは別の手段も提供しています。 ステップでログ・フィルターを指定するには、ログ・フィルターを事前に作成しておく必要があります。 ステップの結果プロパティーで、システムに定義されているすべてのログ・フィルターのリストからログ・フィルターを選択します。
  • 通知テンプレート: 通知テンプレート では、ステップ・アクティビティー (ステップの開始、ステップの成功、ステップの失敗など) に関する通知の送信方法を定義します。 通知オブジェクトでは、アクセス・グループを介して通知担当者を定義します。SMTP サーバーのロケーションは、システム設定で指定します。
  • Build Catalyst: ステップは、Build Catalyst の主要ユーティリティー rafmake を実行できます。Build Catalyst は、Make ベースのビルドを高速化する手段を提供します。Build Forge エージェントのほかに、Make ビルドを実行する同一のホストに Build Catalyst もインストールする必要があります。

ジョブ

ジョブは実行中のプロジェクトです。ジョブが開始されると、プロセス・エンジンはそのジョブをキューに入れてから実行します。ジョブの実行状況は、「ジョブ」パネルで確認できます。ジョブが完了すると、次の情報を入手できます。

  • 結果: ジョブを開くことによって、すべてのステップの結果を確認できます。 また、実行中のジョブを開いてその進行状況をモニターすることもできます。
  • ステップ・ログ: ステップ・ログには、実行結果のほかに、マニフェスト、環境変数の設定に関する情報など、ステップの実行内容に関する広範な情報が記録されます。「結果」ページでステップの結果のリンクをクリックすると、ログが表示されます。
  • 部品構成表: 部品構成表 (BOM) には、ジョブ・ステップおよびステップのマニフェストに関する情報が含まれています。 .bom ドット・コマンドでは、BOM の追加情報を書式設定し、データを BOM に書き込むことができます。.scan ドット・コマンドでは、ベースラインおよびチェックポイントを BOM に追加することができます。

ジョブは、取り消したり、再始動したりできます。プロジェクトをスケジュールに追加して、定期的にプロジェクトを実行させることができます。


フィードバック