TeamCity On-Premises 2026.2 Help

リポジトリのリンク

teamcity link は、リポジトリのルートに小さな teamcity.toml ファイルを書き込むことで、リポジトリを 1 つ以上の TeamCity プロジェクトおよびジョブにバインドします。 リンクが完了すると、 teamcity run startteamcity run watchteamcity job list などのコマンドはデフォルトのプロジェクトとジョブを自動的に選択するため、 --project/--job フラグは不要です。

teamcity.toml は、コードと同時にコミットされることを想定しています。 マシン、CI エージェント、AI コーディングエージェント間で移植可能であり、パスごとのバインディングとマルチサーバー構成を備えたモノレポをサポートします。

リポジトリのリンク

リポジトリのルートから teamcity link を実行します。 フラグを指定しない場合、アクティブなサーバー(teamcity auth を参照)を検出し、プロジェクトとデフォルトのジョブを対話形式で入力するよう求めます。

teamcity link

プロンプトをスキップするには、ID を明示的に渡してください。

teamcity link --project Acme_Backend --job Acme_Backend_Build

最初の実行で teamcity.toml が作成されます。 以降の実行では、一致する [[server]] エントリをアップサートします - 渡さなかったフィールドは保持されます。

git リモートから自動検出すること。

プロンプトが利用できない CI または AI エージェントのコンテキストでは、 --auto はリポジトリの git リモートからバインディングを推論します。

teamcity link --auto

CLI は、アクティブサーバー上の VCS ルートに対して origin URL を照合し、ユーザーの入力なしにプロジェクト(およびデフォルトのジョブ)を選択します。 複数のサーバーが認証されている場合は、 --server を渡してください。

teamcity link --auto --server https://nightly.example

--auto--project--job--jobs とは相互排他的です。

teamcity.toml ファイル

単一のリポジトリと単一のサーバー向けの最小限の teamcity.toml は次のようになります。

[[server]] url = "https://teamcity.example.com" project = "Acme_Backend" job = "Acme_Backend_Build"

url は TeamCity インスタンスを識別します; プロジェクトジョブ は、対応するフラグがコマンドで省略された場合に使用されるデフォルト ID です。 注目する複数のジョブを追跡するには、 ジョブ (配列) を使用します:

[[server]] url = "https://teamcity.example.com" project = "Acme_Backend" job = "Acme_Backend_Build" jobs = ["Acme_Backend_Build", "Acme_Backend_Deploy"]

teamcity.toml はプレーンな TOML です - 手動で編集したり、 cat teamcity.toml で検査したり、 rm teamcity.toml で削除したりできます。

モノリポ: パスごとのスコープ

モノリポでは、各トップレベルディレクトリが TeamCity 上の異なるプロジェクトに対応することがよくあります。 サブディレクトリ内で teamcity link を実行すると、CLI はそのパスにバインディングをスコープします。

cd services/api teamcity link --project Acme_API --job Acme_API_Build cd ../web teamcity link --project Acme_Web --job Acme_Web_Build

結果として生成される teamcity.toml (常にリポジトリのルートに書き込まれる) は、パススコープを親サーバーエントリにグループ化します。

[[server]] url = "https://teamcity.example.com" project = "Acme_Backend" # repo-wide default job = "Acme_Backend_Build" [server.paths."services/api"] project = "Acme_API" job = "Acme_API_Build" [server.paths."services/web"] project = "Acme_Web" jobs = ["Acme_Web_Build", "Acme_Web_Deploy"]

services/api から CLI コマンドを実行すると、 services/api スコープが優先されます。 services/web/src からは、最も深い一致スコープ (services/web) が使用されます。 リポジトリのルートからは、トップレベルのフィールドが適用されます。

サブディレクトリ内からトップレベルスコープへの書き込みを強制するには、 --scope=: を渡します。

teamcity link --project Acme_Backend --job Acme_Backend_Build --scope=

複数のサーバー

1 つの teamcity.toml には複数の [[server]] エントリを列挙できます - たとえば、ナイトリーパイプラインが別のインスタンスで実行される場合に便利です:

teamcity link --server https://nightly.example \ --project Acme_Nightly \ --jobs Acme_Nightly_Release,Acme_Nightly_Eval

--server は独立してアップサートされます。

[[server]] url = "https://teamcity.example.com" project = "Acme_Backend" job = "Acme_Backend_Build" [[server]] url = "https://nightly.example" project = "Acme_Nightly" jobs = ["Acme_Nightly_Release", "Acme_Nightly_Eval"]

--server コマンドでサーバーを切り替えるか、 TEAMCITY_URL コマンドでシェルセッションの期間中サーバーを設定します。

解決カスケード

コマンドがプロジェクトまたはジョブを解決する際、CLI は以下のソースを優先順位の高い順に参照します。

  1. コマンドの明示的なフラグ (--project--job--server, …)

  2. TEAMCITY_* 環境変数

  3. 現在の作業ディレクトリに基づいて、最も深い一致範囲の [server.paths."..."] スコープまでドリルダウンして、アクティブなサーバー URL に一致する [[server]] エントリを取得します。

  4. アクティブサーバーのデフォルト設定 (teamcity auth login より)

これは、 teamcity.tomlデフォルト値を提供するものの、明示的なフラグや環境変数が優先されることを意味します。

teamcity.toml がインストールされると、以下のコマンドは、呼び出しごとに識別子を指定する必要がなくなり、リンクされたデフォルト値を受け入れるようになります。

  • teamcity run start — デフォルトの ジョブ を使用します

  • teamcity run listteamcity run watchteamcity run log — リンクから --job を受け入れる

  • teamcity job listteamcity job tree — リンクされた プロジェクト へのスコープ

  • teamcity project viewteamcity project tree — リンク先の プロジェクト を開く

  • teamcity pipeline pullteamcity pipeline validate — リンク先の プロジェクト を使用してください

teamcity <command> --help を実行して、リンクされたデフォルト値を受け入れるフラグを確認してください。

2026 年 9 月 11 日