TeamCity On-Premises 2026.2 Help

個人ビルドの実行

個人ビルドは、通常、バージョン管理にまだコミットされていない変更を使用する共通ビルドシーケンスからのビルドです。 個人ビルドは通常、 サポートされている IDE のいずれかから、 リモート実行プロシージャを介して開始されます。

カスタムビルドを実行するダイアログから個人ビルドを開始し、変更を加えたパッチをサーバーに直接アップロードすることもできます。

TeamCity UI でパッチをアップロードする

個人ビルドには対応するアイコンが付いており、ビルドを開始したユーザーのみに表示されます。 他の TeamCity ユーザーの個人ビルドを表示するには、 ユーザープロファイル | 一般 | UI 設定個人用ビルドをすべて表示 オプションを有効化します。

個人ビルドアイコン

個人ビルドでは、現在の VCS リポジトリソースと、リモート実行の開始時に識別された変更されたファイルが使用されます。 個人ビルドの結果は、対応する IDE プラグインの「自分の変更」表示と、TeamCity の 変更 ページで確認できます。 完了した個人ビルドは ビルド履歴にリストされますが、それを開始したユーザーのみに表示されます。 Remote Run によるコミットの実行については、 事前テスト済み (遅延) コミット で続きを読む。

デフォルトでは、プロジェクト開発者 ロールを持つユーザーのみが個人ビルドを開始できます。

ビルド構成の 一般設定個人ビルドの実行を制限することができます。

パッチの直接アップロード

カスタムパッチでビルドソースコードを変更権限を持つユーザーは、ウェブ UI または REST API を介して、ローカル変更を含むパッチを TeamCity サーバーに直接アップロードできます。

TeamCity は 統一 diff フォーマットのパッチをサポートしています。
unidiff ファイルを生成できるツールによってフォーマットが異なるため、すべての unidiff バリエーションをエラーなしで処理できることは保証できません。 現在、TeamCity は IntelliJ Platform IDE と Git によって生成された unidiff ファイルを安定して構文解析中です。
TeamCity は非バイナリファイル内のバイナリ変更をサポートしていません。

パッチを生成するには:

  • 任意の IntelliJ Platform IDE で: コミットログで必要なローカル変更を選択し、コンテキストメニューで パッチの作成をクリックし、パッチを *.diff ファイルとして保存します。

  • Git 経由: git diff commit1..commit2 > パス/ファイル名.diff を実行します。
    たとえば、最後のコミットとその直前のコミットの diff を パッチ.diff ファイルを テスト ディレクトリ内に保存するには、 git diff HEAD^ HEAD > ~/test/パッチ.diff を実行します。 その他の例については、 Git ドキュメントを参照してください。

パッチをアップロードし、Web UI を介してパーソナルビルドを実行するには:

  1. カスタムビルドを実行ダイアログを開き、" 個人ビルドとして実行" オプションを有効化します。 パッチをアップロード ボタンが表示されます。

    UI 経由で unidiff パッチをアップロードする

  2. パッチをアップロードし、 ビルドを実行 をクリックします。
    エージェントはパッチを受け取り、ビルドを実行する前に適用します。 ビルド後、パッチが元に戻されるため、チェックアウトディレクトリを後続のビルドで再利用できます。

パッチをアップロードし、REST API を介してパーソナルビルドを実行するには:

  1. 次の POST リクエストを送信します。

    curl \ -X POST \ -H "Content-Type: text/text" \ -H "Origin: <host>:<port>" \ --data-binary @patch.diff \ "http://<username>:<password>@<host>:<port>/uploadDiffChanges.html?description=<description-text>&commitType=0"

    応答として、サーバーでこの変更の ID を受け取ります。

  2. ビルドノードを記述し、ビルド構成 ID と個人的な変更の ID を記載した XML ファイルを作成します。

    <build personal="true"> <triggered type='idePlugin' details='Unified Diff Patch'/> <triggeringOptions cleanSources="false" rebuildAllDependencies="false" queueAtTop="false"/> <buildType id="<build_configuration_id>"/> <lastChanges> <change id="<change_ID>" personal="true"/> </lastChanges> </build>
  3. REST API を介してパーソナルビルドをトリガーするには、作成したファイルを ビルドキュー エンドポイントに投稿します。

    curl \ -X POST \ -H "Content-Type: application/xml" \ -H "Origin: <host>:<port>" \ --data @node.xml \ "http://<username>:<password>@<host>:<port>/app/rest/buildQueue"

    エージェントはパッチを受け取り、ビルドを実行する前にそれを適用します。 ビルド後、パッチが元に戻されるため、チェックアウトディレクトリを後続のビルドで再利用できます。 未使用のパッチは、15 分のタイムアウトによって自動的にクリーンアップされます。

個人ビルドの昇格

非個人的なビルドと同じ方法で個人ビルドをプロモートできます。 昇格後、依存ビルドは個人用ビルドとして実行され、同じパッチが使用されます。

個人ビルドチェーンのトリガー

個人ビルドチェーンがトリガーされると、TeamCity はビルドチェーン内のすべてのビルドを個人ビルドにし、それらすべてに個人用パッチを適用しようとします。 ただし、変更がチェックアウトルールに一致しない場合、TeamCity はパッチを適用しません。 例: パッチが src/ファイル.java を変更したが、 VCS チェックアウト規則構成で ソース フォルダーが除外されている場合、パッチは適用されず、エージェント上のソースコードは変更されません。 この場合、このビルドは、同じリビジョンをチェックアウトする非個人用ビルドに最適化できます。

Perforce のシェルブされたファイルでビルドを実行

現在のビルド構成に Perforce VCS ルートがある場合は、 保留中の Perforce ファイル(英語)の変更に基づいて個人用ビルドを実行できます。 これを行うには、 個人用ビルドとして実行オプションを有効にし、 保留中の変更リスト ID フィールドにターゲットの変更リスト ID を入力します。

2026 年 9 月 11 日