Git のインストールおよびユーザ ガイド

注: このドキュメントは、CA Agile Central (以前は Rally と呼ばれていた)の元の post-commit のフック型の Git コネクタに適用されます。最新の Git VCS バージョン 1.20 を使用している場合は、「Git VCS のインストールおよびユーザ ガイド」を参照してください。

Git 用のコネクタは、CA Agile Central に含まれるタスク、ディフェクト、およびユーザ ストーリーにリンクして変更することができます。CA Agile Central アーティファクトの状態を変更するには、アーティファクトの ID に続けて、コミット メッセージで変更する状態を入力します。

コネクタは、リモート リポジトリへのプッシュ時に、以下の操作を実行します。

  • すべてのコミット コメントの内容を調査し、各コメントについて CA Agile Central 内に CA Agile Central アーティファクトに関連付けられる変更セット オブジェクトを作成する
  • 影響を受ける各ファイルに対する変更オブジェクトを作成する
  • 必要に応じて、CA Agile Central アーティファクトの状態を更新する

たとえば、「Fixed DE17」というコミット メッセージを指定して 2 つのファイルをチェックインした場合、リモート リポジトリへのプッシュ時に、Git コネクタは以下の操作を実行します。

  • コミット リビジョンに対する変更セット オブジェクトを作成する
  • 影響を受けるファイルに対する 2 つの変更オブジェクトを作成する
  • 変更セット オブジェクトをディフェクト オブジェクトにリンクする
  • ディフェクト 17 の状態を[修正済み]に設定する

以下の図は、コミット メッセージの CA Agile Central ID (S123、DE17、TA123 など)でチェックインが行われたときに作成および変更されるオブジェクトを示しています。変更メッセージのフォーマット済み ID が CA Agile Central に見つからない場合、オブジェクトは作成されません。

SCM

コネクタは、CA Agile Central に対して以下の変更を行います。

  1. [ステータス]フィールド(アーティファクト タイプに応じて異なる)をコミット メッセージで指定された新しいステータスに変更します(上記の例では[完了])。アーティファクトの[ステータス]フィールドは以下のとおりです。
    • ディフェクト: State
    • ストーリー: ScheduleState
    • タスク: State
  2. に基づいて CA Agile Central に SCMRepository オブジェクトが存在しない場合は、作成します。 設定ファイル内の値。
  3. メッセージ、リビジョン、コミット日付、および入力される URI を使用して、アーティファクトに関連付けられた変更セット オブジェクトを CA Agile Central に作成します。
    アーティファクト
  4. アクション、ファイル名のパス、ベース、拡張子、および入力される URI フィールドを使用して、変更セット オブジェクトに関連付けられた影響を受けるファイルごとに、変更オブジェクトを CA Agile Central に作成します。
    変更

コミット メッセージにタスク ID および[完了]の状態が含まれている場合、コネクタはタスクの ToDo 値を 0 に自動的に設定します。

このインストール ガイドの構成は次のとおりです。

基本的なインストール手順

  1. Ruby および Git コード用の CA Agile Central コネクタをインストールします。
  2. 提供された config.xml ファイルに Git 用のカスタマイズを設定します。
  3. config_test.rb を実行して、設定ファイルを検証します。
  4. Git の post-receive フックによって実行されるように git2rally.rb を設定します。

コネクタの取得

Git 用 CA Agile Central コネクタは、リモート Git リポジトリへのフックとして実行され、Git コミットのメッセージから CA Agile Central に変更セット オブジェクトを作成します。

コネクタのダウンロード: RallyConnectorForGit-3.7.zip

この zip ファイルには、Git 用フックに接続するためのソース コードおよび Ruby スクリプトが含まれています。

ソフトウェアとハードウェアの要件

  • CA Agile Central サブスクリプション。ほとんどのビルドおよび変更セット データは、ワークスペース管理者がワークスペースを編集してビルドおよび変更セット フラグを有効にするまで、CA Agile Central に表示されません。
  • Git サーバにアクセスします。
  • Ruby プログラミング言語および Git サーバにインストールされた Ruby gems (ライブラリ)。注: 以前のバージョンではコネクタが動作しないため、Ruby REST API バージョン 1.0.3 を使用する必要があります。
  • 現在、cgit は、サポートされている唯一の Git Web フロントエンド クライアントです。
  • コネクタは、Git の最新バージョンで動作する必要があります。Beta テストには、以下のクライアントを使用している Linux サーバ上の Git バージョン 1.5.4.3 および 1.6.4.2 で、コネクタを post-receive フックとして実行することが含まれていました。
    • Linux
    • Mac OS X
    • Windows XP

コネクタのインストール

アップグレード プロセスに関する注意: 2.0 より前のバージョンのコネクタを使用していて、2.0 にアップグレードする場合、config.xml ファイルをバックアップし、以下で説明するインストールの指示に従ってください。新しい zip ファイルの内容を抽出した後、古い config.xml ファイルを使用する場合、config.xml ファイルに 要素を追加し、CA Agile Central で作成する SCMRepository の名前に設定します。は必須の要素です。さらに、コマンド ラインから gem install rally_rest_api コマンドを入力して、rally_rest_api gem のバージョン 1.0.3 以降をダウンロードする必要があります。必要に応じて、作成者を CA Agile Central 変更セットにマップするには、 要素を config.xml ファイルに追加し、会社の電子メールドメイン(mydomain.com)に設定します。

  1. Ruby プログラミング言語をインストールします。
  2. コマンド ウィンドウから以下のように入力して、必要な Ruby gem をインストールします。
    gem install builder -y # Will be 3.0.0 or later.
    gem install rally_rest_api -y # Will be 1.0.3 or later.
    gem install rally_api -y # Will be 0.4.1 or later.
    • 必要な依存関係のインストールに関する質問に「はい」と答えます。
    • rally_api gem により、gems mime-types (1.18 以降)および rest-client (1.6.7 以降)もインストールされます。
  3. マシン上の RallyConnectorForGit.zip ファイルを、選択したディレクトリ(/opt/Rally など)に保存します。このディレクトリに移動し、RallyConnectorForGit.zip ファイルを解凍します。これにより、GitToRally サブディレクトリが作成されます。
  4. コネクタを正常に実行するには、git ユーザがインストール ディレクトリに対して実行権限を持っていて、コネクタのログ ファイル Rally_Connector_Error.log に書き込みアクセス権が必要です。これらの権限を設定するには、GitToRally の上のディレクトリに以下のコマンドを入力します。
    chmod a+rx GitToRally
    chmod a+rw GitToRally/Rally_Connector_Error.log

Git のセットアップ

Git の post-receive フックは、最適なパフォーマンスを得るために CA Agile Central コネクタ プロセスがバックグラウンドで実行されるように設定されます。コードをチェックインすると、CA Agile Central の Web サービス リクエストが完了するまで待つことなく、CA Agile Central コネクタがすぐに実行され、CA Agile Central の適切なオブジェクトが更新されます。その結果、CA Agile Central ログ ファイルでエラーがないか確認します。

UNIX での post-receive フックのセットアップ:

以下の手順では、bash シェルで実行していて、すべてのファイルが /opt/integrations ディレクトリに保存されていることを前提としています。ファイル パスは、インストールによって異なります。

  1. git2rally スクリプトを実行するコマンドを含む RallyWrapper.sh という bash スクリプトを作成します。Ruby および git2rally.rb ファイルへの完全パスを指定していることを確認します。
    #!/bin/sh
    /usr/bin/ruby /opt/integrations/GitToRally/git2rally.rb $1 $2
  2. 以下のコマンドを入力して、RallyWrapper.sh ファイルが実行可能であることを確認します。
    chmod u+x RallyWrapper.sh
  3. Git server hooks ディレクトリに移動します。
  4. 編集するために post-receive ファイルを開き(存在しない場合はこのファイルを作成し)、以下の行を追加します。このコマンドは、バックグラウンドで子プロセスを実行し、標準出力と標準エラーを Rally_Connector_Error.log ファイルにリダイレクトします。
    #!/bin/sh
    while read oldrev newrev refname
    do
     cd /opt/integrations/GitToRally/
     bash RallyWrapper.sh $oldrev $newrev > Rally_Connector_Error.log 2>1 &
    done
  5. 以下のコマンドを入力して、post-receive ファイルが実行可能であることを確認します。
    chmod u+x post-receive

コネクタの設定

config.xml ファイルの設定

それぞれの開始タグと終了タグの間に適切な値を入力して、GitToRally ディレクトリにある提供された config.xml ファイルを編集して保存します。XML は、各タグの期待値の詳細を提供するために全体にコメントされています。

  • : CA Agile Central のアップデートに使用する CA Agile Central ユーザのログイン名。
  • : CA Agile Central ユーザのパスワード。コネクタの最初の実行時に、セキュリティ強化のためにパスワードが XML ファイルにエンコードされます。
  • : CA Agile Central へのログインに使用する URL。ほとんどのユーザにとって、予期される URL は、rally1.rallydev.com または trial.rallydev.com です。
  • : アーティファクトを更新する CA Agile Central ワークスペースの名前。
  • : Git Web フロントエンドを参照するために使用する URL (オプション)。この時点では、コネクタは cgit のみをサポートしています。通常、形式は /cgit/ です。たとえば、git/cgit/integrations_test です。
  • : CA Agile Central の SCMRepository オブジェクトで選択する任意の名前。コネクタの最初の実行時に、コネクタは、指定した名前に設定された名前の新しい CA Agile Central の SCMRepository オブジェクトを自動的に作成します。
  • : 会社のドメイン名(acme.com など)。このタグは、変更セット オブジェクトを作成するときに、CA Agile Central ユーザが作成者フィールドへの入力に使用するものを決定します。
  • オプション - : CA Agile Central のユーザ オブジェクトのフィールド名。これにより、CA Agile Central の[ユーザ]フィールドでコミット ユーザが検索され、変更セットの作成者を CA Agile Central のユーザにリンクします。たとえば、コミッタは user123 で、CA Agile Central ユーザは、MiddleNameuser123 に設定された [email protected] です。ユーザが見つからず、UserDomain 要素が設定されている場合は、検索でその関連付けも試行されます。

設定されている場合、コネクタは、CA Agile Central ユーザを、Git ユーザ名(CA Agile Central の [email protected] ユーザ名など)の myuser Git ユーザ名へのマップに基づいて検索します。

設定されていない場合、コネクタは、CA Agile Central ユーザを、Git ユーザの電子メール(CA Agile Central の [email protected] ユーザ名の [email protected] Git ユーザへの電子メールなど)に基づいて検索します。

要素は、アーティファクトに指定したカスタム プレフィックスを指定するために使用されます。

  • は DE (デフォルト)
  • は US (デフォルト)
  • は TA (デフォルト)

config.xml ファイルの例:

rally1.rallydev.com[email protected]MyPasswordMyWorkspacegitserver/cgit/myrepoMyGitRepositorydomain.comA

   
	DEUSTARally_Connector_Error.log0

CA Agile Central ID を含む最初のチェックイン コメントの後、コネクタは、config.xml ファイルを書き換えて、ユーザ ストーリー、ディフェクト、およびタスクの許可された状態値を含めます。これは、コネクタ スクリプトがファイルへの書き込みアクセス権を持っている限り、自動的に行われます。この書き換えでは、 要素のファイルへの追加も行われます。

config.xml ファイルの コンテンツは、CA Agile Central 管理者がユーザ ストーリーとディフェクトの許可された状態値を変更しない限り、そのまま維持されます。config.xml ファイルに格納されている値を更新するためにコネクタを次回実行するには、 タグから終了タグ までのテキストを削除して変更します。 の内容は、機能的に以下の内容と同等です。

Pre-testSubmittedOpenFixedClosedPost-testPre-storyDefinedIn-ProgressCompletedAcceptedPost-storyDefinedIn-ProgressCompleted

設定ファイルのテスト

config.xml ファイルの完全性をテストするには、ruby config_test.rb コマンドを発行します。

上記のスクリプトは、config.xml ファイルのネットワーク設定および接続情報をテストします。コマンドの出力は以下のようになります。

  1. Log file write Passed
  2. Rally Url Passed
  3. Successfully connected to Rally
  4. Rally Workspace found
  5. Email Validation Passed

コネクタのトラブルシューティング

CA Agile Central に表示されない変更セット

ワークスペース管理者がワークスペースの編集エディタで[ビルドとチェンジ セットを有効化]オプションを選択していることを確認し、Rally_Connector_Error.log ファイルに予期しないメッセージがないことを確認します。エラーはコンソールに書き込まれません。

デバッグ出力

設定ファイルに以下の情報を含めることによって、コネクタからのロギングのレベルを変更することができます。

Rally_Connector_Error.log0

ログ レベル 0 は最大出力量を生成し、ログ レベル 5 は最小出力量を生成します。これらのレベルは、http://corelib.rubyonrails.org/classes/Logger/Severity.html に記載されています。

  • DEBUG = 0
  • INFO = 1
  • WARN = 2
  • ERROR = 3
  • FATAL = 4
  • UNKNOWN = 5

リビジョン履歴

  • 3.7.0 - 2012 年 6 月
    • 同じタイプと複数のタイプの複数のアーティファクトのサポートが追加されました
    • 現在、アーティファクトの StateScheduleState は動的に識別され、設定ファイルの  セクションは必要なくなりました
    • Ruby 1.9.2 (またはそれ以上)が必要になるようにビルド環境が更新されました
  • 2.4.0 - 2012 年 1 月
    • CA Agile Central の MiddleName フィールドを使用して、Git ユーザ名を CA Agile Central ユーザ名にマッピングするためのサポートが追加されました
  • 2.2.0b - 2011 年 6 月
    • 変更セット オブジェクトの Git ユーザの電子メールを CA Agile Central ユーザ名にマッピングするためのサポートが追加されました
    • SourceControlUrl にプレフィックス(https または http)を指定する機能が追加されました
  • 2.1.0b - 2011 年 1 月
    • 変更セット オブジェクトの Git 作成者を CA Agile Central ユーザにマッピングするためのサポートが追加されました
    • パフォーマンスを最適化するためにバックグラウンド プロセスとしてコネクタを実行する手順が追加されました
  • 2.0.0b - 2010 年 6 月
  • 1.0.3b - 2010 年 1 月
    • コネクタの元のバージョン
コードをダウンロード

フィードバック

ヘルプをお求めですか?CA Agile Central コミュニティは、セルフサービスとサポートのワンストップ ショップです。CA Agile Central サポートにフィードバックを送信したり、答を見つけたり、他のユーザとのコラボレーションには CA Agile Central コミュニティ にご参加ください。