エージェントからビルドを切り離す
ビルドの最終ステップで外部サービスがトリガーされ、ビルドにビルドエージェントが不要になった場合、それぞれのランナーはビルドをエージェントから切り離すことができます。これにより、このエージェントを他のビルドで使用できるようになります。その後、ビルドは TeamCity サーバー上で実行を継続し、外部サービスは進行状況を直接サーバーに報告します。このようなビルドステップは、エージェントレスステップと呼ばれます。
ビルドエージェントのリリース
現在のビルドエージェントを解放するには、ランナーは ##teamcity[buildDetachedFromAgent] サービスメッセージを送信する必要があります。このメッセージを受信した後、エージェントは「build stop コマンドが発行された場合でも常に」実行ポリシーが有効になっていない限り、ビルドの以降のすべてのステップをスキップします。必要に応じて、必須の最終ステップに対してこれを有効にすることができます。エージェントは、それらのステップを完了した後にのみ解放されます。
エージェントレスビルドの制限を超えていない場合、サーバーはエージェントを解放し、すぐに他のビルドで使用できるようになります。それ以外の場合、実行中のエージェントレスビルドの一部が終了するまで、エージェントはビルドに接続されたままになります。
このサービスメッセージは、TeamCity サーバーでのビルドの追跡に役立つ情報(たとえば、デプロイ ID)を提供するための trackingInfo 属性(Unicode、最大 1000 シンボル)をサポートします。
ビルドデータのロギング
エージェントレスの手順では、外部ツールはすべてのビルドステータス情報を報告し、その他のタイプの要求を REST API 経由で TeamCity サーバーに直接送信する必要があります。
リクエストを実行するには、以下を提供する必要があります。
ビルドシステムプロパティとして指定されたビルドレベルの認証資格情報:
ユーザー名:
%system.teamcity.auth.userId%パスワード:
%system.teamcity.auth.password%
ビルド ID:
%teamcity.build.id%TeamCity サーバーの URL:
%teamcity.serverUrl%
エージェントは、リリースされる前に、これらのパラメーターを事前に外部ソフトウェアに送信する必要があります。
ロギングメッセージ
メッセージをログに記録するには、次の呼び出しを使用します。
ここでは、任意のサービスメッセージを <message> として送信できます。
警告を送信するリクエストの例:
ビルドの終了
外部で実行されるビルドが、TeamCity サーバーに終了要求を確実に配信することが重要です。サーバーが一時的に利用できず、この要求を受信できない場合、外部ツールはこの操作が成功するまで再試行する必要があります。終了要求がない場合、ビルドは、指定されたタイムアウトに達するまで、TeamCity サーバーで無期限に実行されます。
ビルドを完了するには、次の呼び出しを使用します。
または、正確な終了日を yyyyMMdd'T'HHmmssZ 形式の空でない文字列として送信して終了することもできます。
エージェントレスビルドのライセンス
The number of builds that can simultaneously run without an agent is limited by the number of your active agent licenses. For example, if you have 10 agent licenses, you can run in parallel up to 10 regular builds on agents plus up to 10 agentless builds. As soon as you reach the limit of running agentless builds, TeamCity will not detach steps in the following builds until some of the current agentless builds finish.
関連ページ:
TeamCity エージェントをインストールして開始する
TeamCity ビルドエージェントは、TeamCity サーバーからのコマンドをリッスンし、実際のビルドプロセスを開始するソフトウェアです。実稼働の TeamCity セットアップでは、専用のマシンに追加のビルドエージェントをインストールする必要があります。その前に、エージェントとサーバー間の通信、システム要件、競合するソフトウェア、およびセキュリティに関する注意事項を必ず参照してください。Tomcat サーブレットコンテナーにバンドルされた TeamCity をインストールするか、Window...
ビルドステップの設定
ビルドステップは、CI/CD ワークフローの最小単位です。ビルドステップは、全体として実行される一連のアクションを定義します。ビルドステップは、ビルド構成とパイプラインジョブに属します。構成とパイプラインのビルドステップ:TeamCity は、.NET、Maven、NAnt、Xcode などの特定のビルドツール用に設計された幅広いビルドステップを提供します。現在、ビルド構成ではすべてのステップが利用可能です。バージョン 2025.07 で導入された
サービスメッセージ
サービスメッセージは、ビルドに関するコマンド / 情報をビルドスクリプトから TeamCity サーバーに渡す特別に構成されたテキストです。TeamCity、それらはビルドの標準出力ストリームに書き込まれる必要があり、ビルドステップから出力またはエコーされますによって処理されます。例:echo ##teamcity[<messageName> 'value']echo
TeamCity RESTAPI について
TeamCity は、外部アプリケーションを統合し、TeamCity サーバーとのスクリプトの相互作用を作成するための RESTAPI を提供します。URL パスを介してリソース(エンティティ)にアクセスできます。REST API を使用するために、外部アプリケーションは TeamCity サーバーに HTTP リクエストを行い、応答を解析します。このドキュメントは、TeamCity REST API の一般的な説明と、現在の REST API バージョンの状態を反映する自動生成されたセクション...
ビルドパラメーターの設定
パラメーターは、TeamCity 設定およびビルドスクリプトの構文を介して参照するペアです。パラメーター部分は、生の値 () にすることも、別のパラメーターへの参照 () を含めることもできます。パラメーター型:TeamCity は 3 種類のパラメーターをサポートしています。構成パラメーター — ビルド構成内で設定を共有することを主な目的とするパラメーター。これらのパラメーターを使用して、テンプレートから作成された構成やレシピを使用する構成をカスタマイズすることもできます。TeamCity は...
アーティファクトの依存関係
このページでは、あるビルドから別のビルドにファイルを渡すことができる TeamCity アーティファクトの依存関係の構成について詳しく説明します。例: 一般的なデプロイビルド構成は、他の (本番) 構成によって生成されたファイルを公開します。アーティファクトは以下から渡すことができます: 同じビルドチェーン内のターゲット構成の前に実行される構成。ターゲット構成と同じビルドチェーンの一部ではない個別の構成。同じ構成の以前のビルド。Web UI を使用したアーティファクトの依存関係の設定:ビルド構成...