ビルド機能を追加する
ビルド機能は、追加の機能を有効にするために任意のビルド構成に追加できる機能です。例: ステータス発行者のコミットビルド機能は、コードファイルを保存する VCS に TeamCity ビルド結果を公開し、調査自動割り当ては最新の変更によってビルドが壊れたユーザーを識別し、これらの問題を解決するタスクを自動的に割り当てます。構成されたビルド機能は、削除することなくいつでも一時的に無効にできます。
TeamCity ビルドの特徴
TeamCity には、構成に追加できる次のビルド機能が付属しています。
- AssemblyInfo パッチャー
AssemblyInfo.cs ファイルを手動で修正することなく、アセンブリにビルド番号を自動的に設定できます。
詳細- 自動マージ
必要なブランチのビルドを追跡し、ビルドが設定された条件(たとえば、ビルドが成功した場合)を満たしている場合は、ターゲットのブランチにマージします。
詳細- AWS 認証情報
ビルド手順を作成するために、TeamCity プロジェクトで設定された AWS 接続を共有します。
詳細- ビルド承認
新規ビルドを開始する際に承認が必要な TeamCity ユーザーを指定できます。
詳細- ビルドファイルクリーナー (Swabra)
ビルド中に生成されたファイルをクリーンアップします。
詳細- ビルドキャッシュ
ビルドが、以前に完了したビルドによって取得されたファイル(たとえば、ダウンロードされた
npmパッケージ)を取得できるようにします。
詳細- ビルドスコープトークン
ビルド手順内で VCS 側のリソースにアクセスするために使用できる、有効期限の短い VCS アクセストークンを発行します。
詳細- ステータス発行者のコミット
構築段階と最終結果を外部システムに報告します。
詳細- Docker レジストリ接続
ビルド構成において、ビルド開始前に DockerHub またはその他のコンテナーレジストリに自動的にサインインできるようにします。
詳細- ファイル内容の置き換え
ビルド開始前に正規表現を使用してテキストファイルの内容を置換し、ビルド完了後にすべての変更を元に戻します。
詳細- 空きディスク容量
ビルドエージェントがビルドを実行する前に、十分な空きディスク容量があるかどうかを確認し、不足している場合は古いビルドデータを削除します。
詳細- Golang
TeamCity における Go テスト結果のリアルタイムレポートと履歴表示を有効にします。
詳細- 調査自動割り当て
ビルドの問題やテストの失敗を分析し、これらの問題を引き起こした可能性のあるコミットを行ったユーザーを特定します。
詳細- Jira クラウド統合
ビルドステータスを Jira クラウドにリアルタイムで直接報告できます。
詳細- マトリックスビルド
複数のパラメーターにそれぞれ複数の値を設定できるマトリックスを作成できます。このようなビルド構成を実行すると、N 個の個別のビルドが生成され、各パラメーターと値の組み合わせが個別にテストされます。
詳細- 通知
必要なユーザーに、メールまたは Slack メッセージを介して、ビルドのステータスとイベントを通知します。
詳細- NuGet フィードクレデンシャル
認証が必要な NuGet フィードとビルドが連携できるようにします。
詳細- NuGet パッケージインデクサ
NuGet パッケージをインデックス化し、追加の認証を必要とせずに、TeamCity リモートプライベートフィードに追加します。
詳細- パフォーマンスモニター (既存)
従来型のビルド機能は、ビルド中にエージェントのハードウェア使用状況に関する統計情報を収集するために設計されていました。この機能は、すべてのビルド構成で自動的に有効になりました。
詳細- プルリクエスト
ターゲットリポジトリブランチにまだマージされていない変更をビルドできます。
詳細- Ruby 環境コンフィギュレータ
選択した Ruby インタープリターと gems bin ディレクトリをシステム環境変数
PATHに追加し、RVM インタープリターの場合はその他の必要な環境変数を設定します。
詳細- Docker で実行
ビルド構成のすべてのステップを Docker/Podman コンテナー内で実行できるようにします。コンテナーをサポートしていないステップは、コンテナーの外で実行されます。
- 並列テスト
膨大な数のテストをより小さなバッチに分割し、各バッチを実行するために複数の TeamCity エージェントを使用します。
詳細- 共有リソース
共有の外部リソース(たとえば、テストデータベースや接続数が制限されたサーバーなど)を使用して、同時実行されるビルドの数を制限することができます。
詳細- SSH エージェント
ビルド中に、選択したアップロード済みの SSH キーを使用して SSH エージェントを実行します。
詳細- VCS ラベリング
バージョン管理システムにおいて、ビルドソースの自動および手動によるラベル付け(タグ付け)を可能にします。
詳細- XML レポート処理
外部ツールによって生成された XML レポートを解析し、ビルドページに結果を表示します。
詳細
ビルド機能を追加、削除、無効にする方法
TeamCity UI 内
「管理 | <あなたのプロジェクト> | <YOUR_BUILD_CONFIGURATION>」に移動し、「機能を構築する」タブに切り替えます。

ビルド機能を追加をクリックし、リストから必要な機能を選択します。
必要な機能設定を指定し、保存をクリックします。
機能を構築するページでは、構成されたビルド機能を一時的に無効にしたり、永続的に削除したりすることもできます。

Kotlin DSL
対応する機能を Kotlin DSL の承認ブロックに追加します。例: 次のサンプルでは、1 人のユーザーが新しい構成ビルドを承認することを必要とするビルド承認機能を追加します。
機能を構築する | Kotlin DSL ドキュメントも参照してください。
REST API の使用
GET、POST、DELETE リクエストを /app/rest/buildTypes/<build_type_locator>/features エンドポイントに送信して、既存のビルド機能を取得および削除し、新しいビルド機能を追加します。
例: 次の本文を使用した POST リクエストは、プルリクエスト機能を構成に追加します。
既存の機能を無効にするには、true テキスト本文を含む PUT リクエストを /app/rest/buildTypes/<build-type-locator>/features/<ID>/disabled に送信します。
関連ページ:
ステータス発行者のコミット
コミットステータスパブリッシャーは、ビルドステータスを VCS プロバイダーに送信するビルド機能です。これにより、リポジトリページからコードの状態を追跡し、関連する TeamCity ビルドにすばやく移動して詳細なビルドログを確認できます。サポートされている VCS プロバイダー:GitHub(プルリクエストのビルドステータスもサポートされています)、GitLab、Azure DevOps(サポートされるステータス: 保留中、成功、失敗、エラー)、Bitbucket サーバーおよび Bitbuck...
調査自動割り当て
TeamCity は、ビルドの問題 (コンパイルエラーなど) とテストの失敗を分析し、コミットがこれらの問題を引き起こした可能性のあるユーザーを特定しようとします。テストが失敗した場合、TeamCity はこれらの潜在的に責任のあるユーザーを調査員として提案します。提案に加えて、同じヒューリスティックを使用して失敗したテストとビルドの問題の調査を自動的に割り当てる調査自動割り当てビルド機能を追加できるようになりました。調査員として割り当てられたユーザーには、管理ボタンの横に対応する通知が表示され...
AssemblyInfo パッチャー
AssemblyInfo パッチャービルド機能を使用すると、ファイルを手動でパッチしなくても、アセンブリにビルド番号を自動的に設定できます。このビルド機能を追加するときは、バージョン形式を指定するだけで済みます。TeamCity パラメーター参照を使用できます。AssemblyInfo Patcher は自動チェックアウトでのみ使用する必要があります。このビルド機能が構成されると、最初のビルドステップの前に実行されます。TeamCity は、まずビルドチェックアウトディレクトリにあるファイルの置換...
AWS 認証情報
AWS クレデンシャルビルド機能により、エージェントのビルド内から AWS 接続クレデンシャルにアクセスできるようになります。この機能を使用するには、プロジェクトで少なくとも 1 つの AWS 接続を構成する必要があります。この機能は、AWS CLI を使用してファイルを S3 バケットにアップロードするビルドに認証情報を提供する必要がある場合、AWS ECS タスクまたは AWS SDK に基づくカスタムコードを実行する必要がある場合に役立ちます。このような場合は、一時的な認証情報を使用すること...
ビルドキャッシュ
「ビルドキャッシュ」機能を使用すると、ビルド構成やジョブで、ビルド実行中に生成された特定のファイル(ダウンロードされた npm パッケージや Maven ローカルリポジトリアーティファクトなど)を公開できます。公開されたキャッシュは、公開した構成、または他の構成やジョブによって、後続のビルドで再利用できます。この手法により、ビルドルーチンが最適化され、高速化されます。共通情報:パブリッシャーとコンシューマーをキャッシュするビルドキャッシュ機能を 2 つのモードのいずれかで動作するように設定できます。...
ビルドスコープトークン
ビルドスコープトークン機能を使用すると、ビルド時に有効期限の短い VCS アクセストークンを自動的に取得できます。このトークンは既存の VCS 接続を通じて発行され、指定されたパラメーターに保存されます。ビルドステップでは、このトークンを使用して VCS 内のリソースにアクセスし、変更できます。現時点では、トークンは GitHub アプリ接続を介してのみ発行できます。トークンパラメーター:リポジトリのスコープトークンはきめ細かく、ビルド機能設定で明示的にリストされているリポジトリへのアクセスのみを...