CI Visibility 向け TeamCity セットアップ
This product is not supported for your selected
Datadog site. (
).
概要
TeamCity は、ソフトウェア開発プロセスを最適化および自動化する継続的インテグレーションおよび配信サーバーです。
TeamCity 向けに CI Visibility をセットアップして、パイプライン実行に関するデータを収集し、パフォーマンスのボトルネックをデバッグし、運用上の問題に対処し、開発ワークフローを最適化します。
互換性
| Pipeline Visibility | プラットフォーム | 定義 |
|---|
| 部分的な再試行 | ビルドトリガーを再試行する | 部分的に再試行されたパイプライン実行を表示します。 |
| キュータイム | キュータイム | パイプラインのジョブが処理される前にキューに残っている時間を表示します。 |
| パイプラインの障害理由 | パイプラインの障害理由 | エラーメッセージからパイプラインの障害理由を特定します。 |
| クリティカルパスで CI ジョブをフィルタリングする | クリティカルパスで CI ジョブをフィルタリングする | クリティカルパスのジョブでフィルタリングします。 |
| 実行時間 | 実行時間 | パイプラインによるジョブ実行時間を表示します。 |
以下の TeamCity バージョンに対応しています。
用語
次の表に、Datadog CI Visibility と TeamCity の概念の対応を示します。
| Datadog | TeamCity |
|---|
| パイプライン | ビルドチェーン |
| ジョブ | ビルド |
| Datadog では利用不可 | ステップ |
TeamCity と Datadog CI Visibility のインテグレーションは、TeamCity プラグインを通じて提供されます。Datadog CI Integration プラグインのソースコードは、Apache 2.0 ライセンスでオープンソース化されています。
インテグレーションを設定するには、以下の手順を実行します。
TeamCity サーバーで Datadog CI インテグレーションプラグインをダウンロードするには、以下に移動します。
Administration -> Plugins -> Browse Plugin Repository。
まだ作成していない場合は、ビルドチェーンの最終ビルドとして TeamCity 複合条件ビルドを追加します。このビルドはチェーンの現在の最終ビルドに依存している必要があり、他のビルドがこのビルドに依存していてはいけません。
複合条件ビルドで終了しないビルドチェーンは、プラグインによって無視されます。たとえば、Aggregating Results が最終複合条件ビルドであると想定されるビルドチェーンを検討します。
最終複合条件ビルドは、バージョン管理設定の観点から適切に構成されている必要があり、VCS ルートがアタッチされ、VCS トリガーが構成されている必要があります。
TeamCity プロジェクトには、以下の構成パラメーターが存在する必要があります。
- datadog.ci.api.key: Datadog API Key。プラグインバージョン 0.0.5 以降でパスワードタイプをサポートしています。
- datadog.ci.site:
- datadog.ci.enabled:
true (false 特定のプロジェクトでプラグインを無効にするために使用できます)。
これらは、TeamCity サブプロジェクトまたは TeamCity ルートプロジェクトのいずれかに追加できます。ルートプロジェクトに追加すると、すべてのサブプロジェクトに伝播されます。たとえば、すべてのプロジェクトでプラグインを有効にするには、ルートプロジェクトに true の値を持つ datadog.ci.enabled を追加します。
構成パラメーターの定義の詳細については、TeamCity プロジェクト階層のドキュメントを参照してください。
プラグインを有効にするには、Administration -> Plugins ページで Enable uploaded plugins をクリックします。
または、TeamCity サーバーを再起動します。
高度な構成
プラグインは、TeamCity ユーザー名スタイルに基づいて Git の作成者名とメールアドレスを取得します。Datadog では、Author Name and Email または Author Email のユーザー名スタイルを使用することを推奨しています。これらは
ユーザーのメールアドレスに関する情報を提供するためです。
他のユーザー名スタイル (UserId または Author Name) が使用されている場合、プラグインはユーザー名に @Teamcity を追加して、ユーザーのメールアドレスを自動的に生成します。たとえば、UserId ユーザー名スタイルが使用され、Git の作成者ユーザー名が john.doe である場合、プラグインは Git の作成者メールアドレスとして john.doe@Teamcity を生成します。ユーザー名のスタイルは VCS Roots に対して定義されており、VCS Root 設定で変更できます。
Datadog でパイプラインデータを視覚化する
パイプラインが終了した後に、CI パイプラインリストおよび実行ページでデータを確認できます。
[CI Pipeline List] (CI パイプラインリスト) ページには、各リポジトリのデフォルトブランチのデータのみが表示されます。詳しくは、CI パイプラインの検索と管理を参照してください。
トラブルシューティング
Datadog CI Integration プラグインによって生成されたすべてのログは teamcity-server.log ファイル内に保存され、
Administration -> Diagnostic -> Server Logs に移動して TeamCity サーバーからアクセスできます。
プラグインに関する問題の追加コンテキストを取得するには、これらのログをチェックしてください。
テスト実行が TeamCity ジョブにリンクされていない
Datadog CI Integration プラグインは、TeamCity パイプラインまたはジョブの実行と Test Optimization のテスト実行を関連付けません。対応する CI Visibility ジョブがテスト実行: 0 と表示されている間、テストが Test Optimization に表示される場合があります。
参考資料