TeamCity On-Premises 2026.2 Help

接続の構成

TeamCity 接続は、外部サービスへのアクセスに必要な資格情報を保存します。 このサードパーティサービスの種類に基づいて、2 つの主要な接続カテゴリがあります。

VCS 接続

これらの接続は、たとえば GitHubGitLabBitbucket Cloud などの VCS プロバイダーにアクセスするために必要な情報を保存します。 プロジェクト、ビルド構成、パイプラインを作成する最速の方法を提供します。認証を自動的に処理するため、リポジトリを選択してビルドステップの構成を開始するだけで済みます。

接続から取得したリポジトリリスト

接続が設定されていない場合は、新しいパイプライン、ビルド構成、 ルートごとに資格情報を提供する必要があります。

非 VCS 接続

このカテゴリの接続は、VCS プロバイダ以外のサービスにアクセスするために必要な情報を保存し、リモートリポジトリソースの取得とは無関係の目的で使用されます。 例:

新しい接続を作成するには、次の手順を実行します。

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. 接続タイプを選択し、他の接続タイプと区別するために 表示名を設定し、以下のように構成します。

新しい TeamCity 接続を作成する

新しい設定やパイプラインを追加する際は、 ビルドをセットアップする。 ページから新しい VCS 接続を作成することもできます。 ドロップダウンメニューで 新しいリポジトリを接続 オプションを選択すると、利用可能なオプションが表示されます。

すべてのビルド構成作成オプション

Azure DevOps

TeamCity には二種類の Azure DevOps 接続があります:

  • Azure DevOps OAuth 2.0 を使用すると、Azure DevOps Services アカウント経由で TeamCity にサインインし、Azure Git リポジトリから TeamCity プロジェクトを作成できます。

  • Azure DevOps PAT を使用すると、Azure Git および TFVC リポジトリから TeamCity プロジェクトを作成できます。

Azure DevOps OAuth 2.0 接続

この接続を設定して、TeamCity が Azure DevOps リソースにアクセスできるようにします。 さらに、TeamCity ユーザーが Azure DevOps 資格情報を使用して TeamCity にアクセスできるようになります。

Azure DevOps OAuth 2.0 接続を構成するには:

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "Azure DevOps OAuth 2.0" を 接続タイプ ドロップダウンメニューで選択します。

  4. リダイレクトリンクに追加される一意の ID を生成するために、 一意のリダイレクト URI を有効にする設定が有効になっていることを確認してください。 この設定は、悪意のある認証サーバーが実際の認証サーバーになりすまして、被害者のクライアントをだまして認証コード (トークン) を漏洩させるという、ミスマッチ攻撃のリスクを軽減することで、セットアップのセキュリティを強化します。 %unique-url-sample% URL フォーマットを使用することで、攻撃者が TeamCity に認識されるアドレスを手作業で作成できないようになります。

  5. サーバー URLhttps://login.microsoftonline.com/{tenantId} 形式で入力します。

  6. TeamCity の指示に従って、Microsoft Entra ID でアプリケーションを登録します:

    • TeamCity ツールチップから リダイレクト URI の値を Azure アプリにコピーします。

    • TeamCity 権限を制御するためのアプリ認可スコープを指定します。 最低限必要なスコープは、「ID(読み取り)」、「プロジェクトとチーム(読み取り)」、「コード(読み取り)」です。 書き込みアクセスが必要な TeamCity 機能を使用する予定がある場合は、追加のスコープを含める必要がある場合があります (例: コミットステータスパブリッシャー)。

  7. アプリの準備ができたら、TeamCity 接続を追加 ダイアログに戻り、アプリケーションの アプリ IDクライアントシークレット の値を対応するフィールドに貼り付けます。

  8. 承認済みスコープ 値を編集して接続のアクセス権限を制限するか、このフィールドを空のままにします。

  9. セットアップを終了するには、 保存 をクリックします。

Azure DevOps PAT 接続

このタイプの接続では、個人アクセストークンを使用します。 これにより、 Git または TFVC リポジトリ URL からのプロジェクトの作成、 Azure DevOps VCS ルートの作成、または Azure Board Work Itemsトラッカーとの連携が可能になります。

Azure DevOps PAT 接続を構成するには:

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "Azure DevOps PAT" を 接続タイプ ドロップダウンメニューで選択します。 開いたページには、TeamCity を Azure DevOps Services に接続するときに使用するパラメーターが表示されます。

  4. Microsoft のドキュメント(英語)の説明に従って、Azure DevOps Services アカウントにログインして、 すべての範囲で個人用アクセストークンを作成します。

  5. TeamCity で接続の構成を続けます: 開いている 接続を追加 ページで、以下を指定します

    • https://{account}.visualstudio.com 形式のサーバー URL または https://{server}:8080/tfs/ としての Azure DevOps サーバー

    • 個人アクセストークン

  6. 接続のテストをクリックして、TeamCity がリソースにアクセスできることを確認し、新しい接続を保存します。

  7. 接続が構成されると、リポジトリ URL を指定できる複数の場所で小さな Azure DevOps Services アイコンが有効になります: URL からビルド構成を作成URL から VCS ルートを作成Azure DevOps サーバー VCS ルートを作成、 Azure Board Work Items トラッカーを作成。 アイコンをクリックし、Azure DevOps Services にログインして TeamCity を認証します。 TeamCity には、利用可能なすべてのリソースへのフルアクセスが付与されます。
    TFS/VSTS でホストされている Git リポジトリ用にコミットステータスパブリッシャーを設定する場合、VSTS プロジェクト接続が設定されていれば、個人アクセストークンを自動的に入力できます。

Bitbucket Cloud

Bitbucket クラウドへの接続は、次の目的で使用できます。

Bitbucket クラウド接続フォームは複数のパラメーターを提供します。 Bitbucket で新しい OAuth コンシューマー(英語)を作成するために使用する必要があります。

コンシューマーが作成された後:

  1. その鍵と秘密をコピーします。

  2. TeamCity の接続フォームに戻ります。

  3. キーとシークレットを貼り付けます。

  4. 接続を保存します。

Bitbucket アイコンは、リポジトリ URL を指定できるいくつかの場所でアクティブになります。 クリックして、Bitbucket プロファイルで TeamCity を認証します。 TeamCity にリポジトリへのアクセス権が付与されます。 複数の Bitbucket 接続を設定すると、各アイコンの横にサーバーの URL が表示されるため、使用中のサーバーを区別しやすくなります。

Bitbucket サーバーおよび Data Center

Bitbucket サーバーおよびデータセンターとの統合により、現在次のことが可能になります。

TeamCity が Bitbucket データにアクセスできるようにするには、Bitbucket で着信アプリケーションリンクを作成し、TeamCity に必要な権限を付与する必要があります。

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "Bitbucket Server / Data Center" を 接続タイプ ドロップダウンメニューで選択します。

  4. コールバック URL に追加される一意の ID を生成するには、 一意のコールバック URL を有効化する設定が有効化されていることを確認してください。 この設定は、悪意のある認証サーバーが実際の認証サーバーになりすまして、被害者のクライアントをだまして認証コード (トークン) を漏洩させるという、ミスマッチ攻撃のリスクを軽減することで、セットアップのセキュリティを強化します。 /oauth/bitbucketserver/rid:your_unique_id/accessToken.html URL フォーマットを使用することで、攻撃者が TeamCity に認識されるアドレスを手作業で作成できないようになります。

  5. 別のブラウザータブで、Bitbucket "管理 | アプリケーションリンク" ページに移動します。

  6. 次のパラメーターで新しい アプリケーションリンクを作成します:

    • アプリケーションタイプ: 外部アプリケーション

    • 方向: 受信

    • リダイレクト URL: <TeamCity の新規接続タブから URL をコピー>

    • アプリケーションの権限: 「リポジトリ」の「書き込み」にチェックを入れます

  7. アプリケーションリンクの準備が整うと、Bitbucket は 「クライアント ID」「クライアントシークレット」の値を生成します。 これらの値をコピーして、TeamCity の新規接続タブの対応するフィールドに貼り付けます。

  8. 接続のテストをクリックして、TeamCity がリソースにアクセスできることを確認し、新しい接続を保存します。

GitHub

TeamCity では、通常の GitHub.com インスタンスと GitHub エンタープライズ の両方への接続を作成できます。

GitHub への接続は、次の目的で使用できます。

ニーズに応じて、 GitHub アプリ または GitHub OAuth アプリケーション を介して動作する GitHub への接続を作成できます。

接続が正常に構成されると、リポジトリ URL を指定できるいくつかの場所で GitHub アイコンがアクティブになります。 クリックして、GitHub プロファイルで TeamCity を認証します。 TeamCity にはプライベートリポジトリのフルコントロールが付与され、 リポジトリフックの書き込み権限を取得します。 複数の GitHub 統合を構成すると、各アイコンの横にサーバー URL が表示されるため、使用中のサーバーを区別しやすくなります。

GitHub アプリ

GitHub アプリは、TeamCity などのサードパーティサービスが "service" ユーザーアカウントを保持しなくても GitHub リポジトリに接続できるようにする連携です。 GitHub OAuth アプリケーションと比較すると、GitHub Apps にはきめ細かな権限が備わっており、アプリがアクセスできるリポジトリをより細かく制御できます。詳細については、次の記事を参照してください: GitHub Apps と OAuth Apps の違い

さらに、GitHub App 接続を介して作成された構成では、VCS トリガーと Commit Status Publisher ビルド機能の従来の組み合わせを置き換える GitHub チェック Webhook トリガーを使用できます。

適切な GitHub アプリがまだない場合は、TeamCity に登録を許可し、この新しいアプリを使用する接続を一度に作成できます。 TeamCity は マニフェストを使用して新しい GitHub アプリを登録します。

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "GitHub App" を 接続タイプ ドロップダウンメニューで選択します。 この接続タイプは、通常の GitHub アカウントと GitHub Enterprise アカウントの両方で機能します。

  4. TeamCity が マニフェストから GitHub アプリを登録できるように、 自動作成モードを選択します。

    GitHub マニフェストアプリボタン
  5. GitHub サーバーの URL ("/username" なし) を指定し、このアプリで ポストコミットフックを送信するか、組織にアクセスできるようにするか、またはその両方を選択します。

  6. ビルドスコープトークンを有効化 チェックボックスをオンにするのは、ビルドステップ内で使用できる有効期間の短いトークンを動的に発行できる ビルドスコープトークン 機能を追加する予定がある場合です。

  7. 新しい GitHub アプリで組織のリポジトリへのアクセスを提供する必要がある場合は、 所有者設定を 組織に切り替え、対応するフィールドに組織のお名前を入力します。

  8. 画面の指示に従って GitHub アカウントにログインし、TeamCity にアプリの登録を認可して、個人アカウントや組織アカウントにインストールします。

新しい GitHub アプリを手動で作成し、このアプリを使用する TeamCity 接続を設定するには:

  1. 上記のリストの手順 1 から 3 を繰り返します。

  2. 接続の作成モードを 手動に切り替えます。

  3. コールバック URL に追加される一意の ID を生成するには、 一意のコールバック URL を有効化する設定が有効化されていることを確認してください。 この設定は、悪意のある認証サーバーが実際の認証サーバーになりすまして、被害者のクライアントをだまして認証コード (トークン) を漏洩させるという、ミスマッチ攻撃のリスクを軽減することで、セットアップのセキュリティを強化します。 /oauth/githubapp/rid:your-unique-id/accessToken.html URL フォーマットを使用することで、攻撃者が TeamCity に認識されるアドレスを手作業で作成できないようになります。

  4. ビルドスコープトークンを有効化 チェックボックスをオンにするのは、ビルドステップ内で使用できる有効期間の短いトークンを動的に発行できる ビルドスコープトークン 機能を追加する予定がある場合です。

  5. 別のブラウザータブで GitHub アカウントに移動し、TeamCity 接続の説明に従って新しいアプリを作成します。 このプロセスで GitHub が秘密鍵を生成することに注意してください — この .秘密鍵.pem ファイルを安全な場所に保存します。

  6. GitHub アプリの全般設定を開きます。 必要な値 (アプリ ID、クライアント ID、クライアントシークレット) をコピーし、TeamCity ダイアログに貼り付けます。

  7. GitHub アプリのウェブフックを設定している場合は、そのシークレットを設定し、同じ値を Webhook secretフィールドにコピーします。 GitHub はこのウェブフックを使用して、変更が発生したときにリポジトリの変更をスキャンするよう TeamCity サーバーに通知できます。サーバーが GitHub に変更を常時ポーリングする必要はありません。 関連項目: VCS ポストコミットフックの設定

  8. Owner URL を入力します — この GitHub アプリがインストールされている個人アカウントまたは組織へのリンクです。

  9. GitHub から送信された秘密鍵をアップロードします。

  10. 接続のテストをクリックして、TeamCity がリソースにアクセスできることを確認し、新しい接続を保存します。

GitHub OAuth アプリケーション

OAuth アプリケーションはユーザーアクセストークンを生成し、TeamCity などのサードパーティサービスが、これらのサービスを承認したユーザーに代わってアクションを実行できるようにします。

GitHub OAuth アプリケーションを利用する TeamCity 接続を作成するには:

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "GitHub.com or GitHub Enterprise" を 接続タイプ ドロップダウンメニューで選択します。

  4. GitHub OAuth アプリケーションがまだない場合は、TeamCity の指示に従って 新しいアプリケーションを作成します。

  5. OAuth アプリケーションの設定からクライアント ID とシークレットをコピーし、TeamCity ダイアログに貼り付けます。 GitHub Enterprise の場合は、GitHub サーバー URL も貼り付ける必要があります。

  6. 接続のテストをクリックして、TeamCity がリソースにアクセスできることを確認し、新しい接続を保存します。

GitLab

GitLab 接続には二種類あります: GitLab.comhttps://gitlab.com サイトでホストされるアカウント用、 GitLab CE/EEはセルフホストの GitLab Community Edition (CE) または Enterprise Edition (EE) サーバー上のアカウント用です。

GitLab への接続は、次の目的で使用できます。

OAuth アプリケーションはユーザーアクセストークンを生成し、TeamCity などのサードパーティサービスが、これらのサービスを認可したユーザーに代わってアクションを実行できるようにします。

GitLab OAuth アプリケーションを使用する TeamCity 接続を作成するには:

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "GitLab.com or GitLab CE/EE" を 接続タイプ ドロップダウンメニューで選択します。

  4. GitLab CE/EE 接続のみ: コールバック URL に一意の ID を追加するには、 固有のコールバック URL を有効にする設定が有効になっていることを確認してください。 この設定は、悪意のある認証サーバーが実際の認証サーバーになりすまして、被害者のクライアントをだまして認証コード (トークン) を漏洩させるという、ミスマッチ攻撃のリスクを軽減することで、セットアップのセキュリティを強化します。 /oauth/gitlab/rid:your_unique_id/accessToken.html URL フォーマットを使用することで、攻撃者が TeamCity に認識されるアドレスを手作業で作成できないようになります。

  5. GitLab OAuth アプリケーションがまだない場合は、GitLab の手順に従って、次のいずれかのスコープで OAuth アプリケーションを作成します:

  6. GitLab で 新しいアプリケーションを追加するフォームに記入する場合:

    1. アプリケーションの名前を選択します

    2. TeamCity ダイアログから リダイレクト URLをコピーして GitLab フォームに貼り付けます

    3. スコープで、 API をチェックしてください

    4. 「アプリケーションを保存」をクリック

  7. GitLab アプリケーション設定から アプリケーション IDシークレットをコピーし、TeamCity ダイアログに貼り付けます。

  8. GitLab CE/EE 接続のみ: GitLab CE/EE サーバーのベース URL(例: https://gitlab.mydomain.com )を サーバー URL フィールドに入力してください。 なお、GitLab.com に接続する場合は、ベース URL は常に https://gitlab.com となるため、このフィールドは不要です。

  9. GitLab CE/EE 接続のみ: 必要に応じて、GitLab 管理領域でシステムウェブフックを作成し、TeamCity で同じ シークレットトークン を使用します。 これにより、TeamCity はリポジトリの新しい変更に関する通知をほぼ即座に受信できます。 そうでない場合、TeamCity は更新を確認するために定期的に リポジトリをポーリング します (デフォルトでは毎分 1 回)。

  10. 接続のテストをクリックして、TeamCity がリソースにアクセスできることを確認し、新しい接続を保存します。

GitLab アイコンは、リポジトリの URL を指定できるいくつかの場所でアクティブになります。 クリックして、GitLab プロファイルで TeamCity を認証します。 TeamCity にリポジトリへのアクセス権が付与されます。 複数の GitLab 接続を構成すると、サーバーの URL が各アイコンの横に表示されるため、使用中のサーバーを簡単に区別できます。

Google

このタイプの接続は、Google サービスをサポートしています。 OAuth 2.0 プロトコル(英語)を使用しています。

この接続は、Google アカウントを使用した TeamCity での認証に使用されます。

Google 接続を構成する前に、 新しい Google プロジェクトを作成し てアプリを登録する(英語)必要があります (まだ行っていない場合)。

TeamCity で Google 接続を設定するには:

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "Google" を 接続タイプ ドロップダウンメニューで選択します。

  4. TeamCity に表示されるリダイレクト URL をコピーします。これらの URL は OAuth クライアントの登録に必要です。

  5. Google プロジェクトの 資格情報ページに移動し、Web アプリケーションタイプで OAuth クライアント ID(英語) を作成します。

  6. コールバック URL を Google OAuth クライアント ID の 承認済みリダイレクト URI セクションに貼り付けます。 OAuth クライアントが作成されたら、クライアント ID とクライアントシークレットをコピーします。

  7. TeamCity の接続フォームに戻り、クライアント ID とクライアントシークレットを入力します。

  8. 接続のテストをクリックして、TeamCity がリソースにアクセスできることを確認し、新しい接続を保存します。

これで Google 認証モジュールを有効にできます。

Docker レジストリ

Docker レジストリへの接続は、次の目的で使用できます。

  • ビルドを実行する前に認証された Docker レジストリにサインインし、ビルド後にサインアウトします。

  • ビルド後に公開されたイメージをクリーンアップします。

詳細については、 専用の記事を参照してください

Amazon ウェブサービス (AWS)

Amazon ウェブサービス (AWS) 接続では、AWS 資格情報を一度定義し、 AWS 資格情報ビルド機能を介してビルドで使用できます。 アクセスキー、IAM ロール、デフォルト認証情報プロバイダーチェーンなど、さまざまな AWS 認証情報タイプを使用できます。

TeamCity で AWS 接続を設定するには:

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "Amazon Web Services (AWS)" を 接続タイプ ドロップダウンメニューで選択します。

  4. この接続を他の接続と区別するための名前を付けます。

  5. 接続 ID フィールドは自動的に入力されます。 これを変更して、独自の一意の ID を指定できます。

  6. ターゲットリソースが配置されている AWS リージョンを選択します。

  7. タイプドロップダウンから、資格情報の種類のいずれかを選択します。

    アクセス鍵

    資格情報の種類としてアクセス鍵を選択した場合は、AWS コンソールの Identity and Access Management セクションから鍵を取得し、TeamCity に提供してください。 これらのキーの取得方法は こちらを参照してください。TeamCity UI の Access keys セクションで、次の手順を実行します:

    1. 永続的な アクセス鍵 を指定します。

      • アクセスキー ID。 アクセスキー ID を入力します。

      • シークレットアクセス鍵。 シークレットアクセスキーを入力します。

      セキュリティ上の理由から、アクセスキーを定期的に変更することを お勧め(英語)します。 これは、 鍵をローテーション ボタンを使用して接続を確立した後に実行できます。

      TeamCity は古い鍵をすぐには取り消しません。 新しい鍵が生成されると、TeamCity は古い非アクティブな鍵を 5 分間保持し、その後除去します。 古いキーの有効期間は、次のプロパティ TeamCity 内部クラウド AWS 鍵ローテーション古い鍵保持時間最小値 または TeamCity 内部クラウド AWS 鍵ローテーション古い鍵保持日数 で変更できます。

      アクセス鍵を正常にローテーションできるようにするには、TeamCity に iam:ユーザーを取得iam:アクセス鍵を作成iam:アクセス鍵を削除 権限が必要です。

    2. 一時的な セッション設定 を構成します。

      • セッション資格情報を使用する。 AWS STS 経由で 一時的なアクセス(英語)キーを提供するエンドポイントを使用するには、ボックスをオンにします。 このような資格情報は短期間です (デフォルトのセッション期間は 60 分です)。 AWS 認証情報ビルド機能(英語)でデフォルトのセッション期間をオーバーライドできます。 これらの認証情報は特定のユーザーのものではなく、特定のリソースへの一時的なアクセスを許可するために必要に応じて提供できます。 セキュリティが向上するため、一時的な認証情報を使用することをお勧めします。

      • STS エンドポイント

        • TeamCity は、AWS リージョンを変更するときにこのフィールドを自動的に生成します。 リージョンエンドポイントは、高速で待ち時間が短いため、 推奨さ(英語)れます。 さらに、地域のエンドポイントへのすべての呼び出しは、地域のサービス呼び出しとして AWS Cloud Trail に記録されます。

        • 選択したリージョンエンドポイントが Amazon アカウントで 無効(英語)になっており、有効にしたくない場合は、 グローバルエンドポイント(英語)を使用します。

        • MinIOなどの Amazon 代替サービス用にカスタムエンドポイントを指定する必要がある場合は、 TeamCity サポートチームにお問い合わせください

    IAM ロール

    IAM ロールを使用すると、通常はこれらの権限を持たないユーザー、アプリケーション、またはサービスに AWS リソースへのアクセスを委任できます。 これらのエンティティは、そのようなアクセスを取得するために このロールを引き受けます 。この TeamCity プロジェクトで、アクセスキーまたはデフォルト資格情報プロバイダーチェーンが構成された AWS 接続が少なくとも 1 つ既にある場合にのみ、資格情報タイプとして IAM ロールを使用できます。

    1. IAM ロール を指定します。

      • AWS 接続指定された IAM ロールを付与する (英語)AWS 接続を選択します。 ターゲットの AWS 接続が親 TeamCity プロジェクトに属している場合、この接続の サブプロジェクトで利用可能 設定を有効にする必要があることに注意してください。

      • ロール ARN。 作成している接続で引き受けるロールの ARN(英語) を指定します。

    2. セッション設定 を構成します。

      • セッションタグ。 Amazon では、セッション タグ(英語)が必要です。 AWS ログで TeamCity 接続によって作成されたセッションを見つけるのに役立ちます。 TeamCity はタグを自動的に生成しますが、独自の値を指定できます。

      • STS エンドポイント

        • TeamCity は、AWS リージョンを変更するときにこのフィールドを自動的に生成します。 リージョンエンドポイントは、高速で待ち時間が短いため、 推奨さ(英語)れます。 さらに、地域のエンドポイントへのすべての呼び出しは、地域のサービス呼び出しとして AWS Cloud Trail に記録されます。

        • 選択したリージョンエンドポイントが Amazon アカウントで 無効(英語)になっており、有効にしたくない場合は、 グローバルエンドポイント(英語)を使用します。

        • MinIOなどの Amazon 代替サービス用にカスタムエンドポイントを指定する必要がある場合は、 TeamCity サポートチームにお問い合わせください

    接続が作成されたら、自動生成された外部接続 ID を表示およびコピーできます。 混乱した代理人の問題(英語)を防ぐために、常に AWS の 信頼ポリシー(英語)に追加することを強くお勧めします。 これにより、認可された TeamCity AWS 接続のみが、指定された IAM ロールを使用できるようになります。

    デフォルトの資格情報プロバイダーチェーン

    デフォルトチェーンに従ってアクセス資格情報を提供するには、この種類を選択します。 この方法は、資格情報をプレーンテキストで保存する代替手段を提供します。
    この資格情報タイプが使用される場合、TeamCity は次の順序で資格情報を検索します:

    1. Java システムプロパティ: aws.アクセス鍵 ID および aws.シークレットアクセス鍵

    2. 環境変数: AWS アクセス鍵 ID および AWS シークレットアクセス鍵

    3. システムプロパティまたは環境変数からの Web アイデンティティトークン認証情報(英語)

      # In ~/.aws/config [profile web-identity] role_arn=arn:aws:iam:123456789012:role/RoleNameToAssume web_identity_token_file=/path/to/a/token
    4. すべての AWS SDK と AWS CLI で共有されるデフォルトの場所 (~/.aws/資格情報) にある認証情報プロファイルファイル。

      # In ~/.aws/credentials [default] aws_access_key_id = your_key aws_secret_access_key = your_secret

      デフォルトの場所は、 AWS 共有資格情報ファイル 環境変数を介して上書きできます。

    5. AWS コンテナー資格情報相対 URI 環境変数が設定されていて、セキュリティマネージャーがそれにアクセスできる場合、Amazon EC2 コンテナーサービスを介して配信される資格情報。

    6. Amazon EC2 メタデータサービスを介して提供されるインスタンスプロファイル資格情報。

  8. 現在のプロジェクトのすべてのサブプロジェクトでこの接続を利用できるようにする場合は、 サブプロジェクトで利用可能 オプションにチェックを入れます。

  9. AWS 認証情報ビルド機能機能設定でこの接続を選択できるようにするには、 ビルドステップで利用可能 オプションにチェックを入れます。

  10. 接続のテストをクリックして、TeamCity がリソースにアクセスできることを確認し、新しい接続を保存します。

設定された AWS 接続は、 AWS 認証情報ビルド機能アーティファクト S3 ストレージEC2 クラウドプロファイル 、IAM ロールを使用するその他の AWS 接続に認証情報を提供できます。

推奨セットアップ

Amazon キー管理ガイドライン(英語)では、アクセスキーと静的 IAM ユーザー認証情報の代わりに IAM ロールを使用することを推奨しています。 IAM ロールは有効期間の短い認証情報を発行するため、このアプローチにより、認証情報が (偶然またはセキュリティ違反の結果として) 公開された場合の潜在的な損害が最小限に抑えられます。

TeamCity では、IAM ロールを引き受け、ローカルに保存された資格情報に依存しない接続を使用して、プロジェクトが必要な AWS リソースにアクセスできます。

  1. AWS マネジメントコンソールで、 IAM ダッシュボード(英語)に移動し、 ロール タブに移動します。

  2. 新しい空の IAM ロールを作成します。 このロールを「ロール A」と呼びます。 このロールに必要な権限は、他のロールを引き受ける権限のみです。

    任意のロールを引き受ける権限を持つロール A:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "*" }] }

    特定のロール B を引き受ける権限を持つロール A (手順 6 を参照)

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::ACCOUNT_ID:role/ROLE_B" }] }
  3. ローカルに保存された資格情報の代わりにこのロールを使用して AWS にアクセスするように、TeamCity サーバーマシンを設定します。 必要な手順は、マシンの正確なタイプによって異なる場合があります。

  4. TeamCity で、 デフォルトの資格情報プロバイダーチェーン タイプの新しい AWS 接続を作成します。 接続をテスト を押して、TeamCity が空の "Role A" を使用するようにします。

  5. サブプロジェクトがこの新しい接続にアクセスできるようにする場合は、 サブプロジェクトで利用可能 オプションをオンにします。 それ以外の場合、この接続を所有する同じプロジェクトのみがその接続を使用できます。

    AWS 接続を共有する
  6. AWS リソース (EC2 インスタンスや S3 バケットなど) にアクセスするために必要な権限を持つ 2 番目の IAM ロール (「ロール B」) を作成します。

  7. この新しいロール B の 信頼関係 を変更して、ロール A がそれを引き受けられるようにします。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "your-Role-A-ARN" }, "Action": "sts:AssumeRole" } ] }
  8. AWS リソースにアクセスする必要がある TeamCity プロジェクトで、別の AWS 接続を作成します。

    • タイプ - 「IAM ロール」。

    • AWS 接続 — 手順 4 で作成した接続。

    • ロール ARN — 「ロール B」の ARN。

    プライマリ「デフォルト資格情報プロバイダーチェーン」接続を所有するプロジェクトのサブプロジェクトでこの新しい接続を構成する場合、このプライマリ接続の サブプロジェクトで利用可能 設定が有効になっている必要があることに注意してください (手順 5 を参照)。

  9. 接続をテスト をクリックして、TeamCity が ロール B を引き受けられることを確認します。

    Running STS get-caller-identity... Caller Identity: Account ID: <your account ID> User ID: <user ID:session> ARN: <Role B ARN>
  10. 新しい接続を保存し、再度接続します。 接続の 外部 ID 値が表示されるはずです。

    AWS 接続の外部 ID
  11. ロール B の 信頼関係 に戻り、追加の条件を追加します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "your-Role-A-ARN" }, "Condition": { "StringEquals": { "sts:ExternalId": "External-ID-copied-from-TeamCity" } }, "Action": "sts:AssumeRole" } ] }

その結果、次のセットアップが完了しました。

  • プライマリ デフォルトの資格情報プロバイダーチェーン 接続には、ローカルに保存された資格情報は必要ありません。

  • この共有プライマリ接続には、何にもアクセスする権限がありません。 AWS リソースにアクセスするには、他の IAM ロールを引き受ける必要があります。

  • 手順 11 で設定された条件により、実際のアクセス権限を持つロールは、設定済みの "IAM ロール" TeamCity 接続によってのみ引き受けることができます。 TeamCity 管理者は、これらのロールを利用する接続を追加で作成することはできません。

    間違った外部 ID

    Amazon リソースにアクセスできる接続をさらに作成するには、AWS 管理者はこれらの新しい接続の外部 ID をホワイトリストに追加する条件を追加する必要があります。

Amazon ECR

Amazon ECR (Elastic Container Registry) 接続により、プライベートおよびパブリックの AWS レジストリにアクセスできます。 これにより、 Docker レジストリ接続 ビルド機能は、ビルドによって生成された Docker/Podman イメージを AWS に保存できます。

接続設定:

設定

説明

リポジトリタイプ

プライベート(英語)レジストリまたは パブリック(英語)レジストリへの接続を選択します。

AWS リージョン

(プライベートレジストリの場合のみ)ターゲットリソースが配置されている AWS リージョンを選択します。

クレデンシャルタイプ

  • アクセス鍵: 事前設定された AWS アカウントアクセスキーを使用する場合に選択します。 それらは、AWS コンソールの ID およびアクセス管理(英語)セクションにあります。

  • 一時的な資格情報: AWSSTS を介して 一時アクセスキー(英語)を取得します。 このような資格情報は短期的なものであり、いつでも取り消すことができます。 これらは特定のユーザーに属しておらず、特定のリソースへの一時的なアクセスを許可するためにオンデマンドで提供できます。

IAM のロール ARN

(一時的な認証情報のみ)

一時的な資格情報の生成に使用するロールを指定します。 AWS コンソールで事前にこのロールを作成(英語)し、必要なすべてのパーミッションに割り当てる必要があります。

外部 ID

(一時的な認証情報のみ)

外部 ID(英語) を指定します。 一時的なクレデンシャルを使用する場合は、常に定義することを強くお勧めします。 これにより、TeamCity のみが指定された IAM ロールを使用できるようになります。

デフォルトの資格情報プロバイダーチェーン

このオプションを有効にすると、デフォルトのチェーン(英語)に従ってアクセス資格情報が自動的に検索されます。

TeamCity 環境のどこにも資格情報を保存したくない場合は、この方法をお勧めします。 デフォルトでは、 AWS アクセス鍵 ID および AWS シークレットアクセス鍵 環境変数の値が使用されます。

アクセスキー ID

アクセスキー ID を指定します。

こちら(英語)で入手方法を参照してください。

秘密アクセスキー

シークレットアクセスキーを指定します。

こちら(英語)で入手方法を参照してください。

レジストリ ID

アカウント ID(英語) 番号を入力してください。

Slack

このタイプの接続は、 Slack(英語) 経由で通知を送信するために使用されます。

Slack 接続を設定する前に、次の ボットトークンスコープを持つ Slack アプリを作成する必要があります: チャンネル:読み取りチャット:書き込みIM:読み取りIM:書き込みユーザー:読み取りチーム:読み取りグループ:読み取り。 これらは Slack アプリの 機能 | OAuth & 権限 | スコープ で追加できます。

TeamCity サーバーが Slack に接続できるようにするには、サーバーの可能なすべてのエンドポイントアドレスを リダイレクト URL として 機能 | OAuth & 権限 で指定します。 ほとんどの場合、TeamCity の グローバル設定 で設定された サーバー URL を指定するだけで十分です。 ただし、TeamCity サーバーにプロキシを使用している一方でこのサーバーに直接アクセスする場合は、サーバーの IP アドレスも リダイレクト URL で指定しないと、Slack での認証が機能しない可能性があります。

これで TeamCity に戻り、新しい Slack 接続を追加して、次の接続パラメーターを入力できます:

構成された Slack 接続は、 通知機能ビルド機能および サービスメッセージによって使用されます。

JetBrains Space

このタイプの接続は、次の目的で使用できます。

Space 接続を構成するには 2 つの方法があります。

  • 自動 — TeamCity は、必要なすべての権限を持つ読み取り専用の Space アプリケーションを設定し、Space インスタンスにインストールします。

  • 手動 — Space アプリケーションを手動で作成してインストールし、その後 TeamCity で接続設定をセットアップする必要があります。

自動接続

JetBrains Space に保存されたリポジトリをビルドしてデプロイする TeamCity プロジェクトを設定するには、二つの別個の接続が必要です:

  • 組織接続 — TeamCity が Space インスタンスにアクセスできるようにする共通接続設定を保存するエントリポイントです。

  • プロジェクト接続 — TeamCity が一つの特定のプロジェクトとそのリポジトリにアクセスできるようにします。

親 TeamCity プロジェクトに設定された単一の組織接続だけが必要です。 ただし、別の Space プロジェクトにアクセスするには、別のプロジェクト接続が必要になります。

組織接続を構成するには:

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "JetBrains Space" を 接続タイプ ドロップダウンメニューで選択します。

  4. 作成モード自動: 組織接続 を選択します。

  5. 新しい接続の名前を入力し、「Space アプリケーションの作成 」をクリックします。

  6. TeamCity は別のブラウザーウィンドウを開き、必要な Space インスタンスを選択できるようにします:

    スペースインスタンスの選択
    • Space Cloud — 必要な Space Cloud インスタンスの横にある インストール をクリックするか、現在別のユーザーアカウントを使用してログインしている場合は 別のメールアドレスを試す をクリックします。

    • オンプレミスのスペース — スペース組織の URL を入力し、 インストール をクリックします。

  7. Space アプリケーションの名前とオプションの説明を入力し、 インストール をクリックします。

    スペースアプリをインストールする

  8. すべて承認して TeamCity に戻る をクリックして、新しくインストールされた Space アプリケーションに必要な権限を付与します。

組織接続が設定されてインストールされると、TeamCity には他のアプリケーションをインストールし、プロジェクトのリストをスキャンする権限が付与されます。 このリストを表示するには、新しいビルド構成を追加するか、ソースとして組織接続を選択して新しい VCS ルートを作成します (最初の試行時に TeamCity を認証する必要があります):

Space プロジェクト

すべてのプロジェクトは、最初はスペースアイコンがグレー表示になっていることに注意してください。 これは、TeamCity がこれらのプロジェクトのリポジトリにまだアクセスできないことを意味します。 TeamCity に必要な権限を付与するには:

  1. 必要なプロジェクトをクリックします。

  2. 続行 をクリックします。 TeamCity は、この特定のプロジェクトにアクセスするために必要なすべての権限を持つ新しい事前構成済みアプリケーションを作成してインストールします。

  3. 画面の指示に従ってスペース管理ダッシュボードに移動し、これらの権限リクエストを承認します。

このプロジェクトに追加されたすべてのリポジトリが表示されるはずです。 TeamCity にリポジトリへのアクセスを許可するアプリケーションがインストールされた Space プロジェクトには、色付きの Space アイコンが表示されます。

Space プロジェクトとのつながり

プロジェクト接続をさらに追加して、TeamCity が同じ組織内の追加の Space プロジェクトにアクセスできるようにできます。 これを行うには、 プロジェクト設定 | 接続 に移動し、 自動: プロジェクト接続 作成タイプで新しい Space 接続を作成します。 このオプションは、このプロジェクト (またはその親) に組織接続を追加すると使用可能になります。

新しい Space プロジェクトとのつながり

個々の Space プロジェクト接続は、 コミットステータスパブリッシャー および プルリクエスト ビルド機能で使用して、プロジェクトリポジトリと対話することもできます。 Space 組織接続により、ユーザーは Space 資格情報を使用して TeamCity にログインできます。

プロジェクトレベルの自動接続で設定された Space アプリケーションは、VCS ルートやビルド機能がプロジェクトリポジトリにアクセスするために使用するアクセストークンを発行します。 これらのアクセストークンは個人用ではないため、最初に TeamCity プロジェクトを設定してトークンを発行したユーザーが組織を離れても、これらのプロジェクトは引き続き機能し、更新は不要です。 リフレッシュ可能なトークンの詳細については、この記事を参照してください: 更新可能なアクセストークンを管理する

手動接続

JetBrains Space への手動接続の設定には二つの手順が含まれます: 必要な権限を持つ Space アプリケーションを作成し、TeamCity UI で接続設定を行います。

Space アプリケーションの作成

  1. 管理 | アプリケーション。管理 | アプリケーションから管理 | アプリケーションへ移動します。管理 | アプリケーション に移動し、 新しいアプリケーション をクリックします。

  2. わかりやすい名前を入力して、アプリケーションを保存します。

  3. アプリの 認証 タブに移動し、 コンテキスト内認証 セクションにある 要件を構成 をクリックします。 TeamCity からアクセスしようとしている Space プロジェクトのお名前を入力します。

  4. 次に、このプロジェクトでアプリに付与される権限を設定する必要があります。 構成 をクリックして、次の権限を有効にします。

    • 認証とプルリクエストに必要:

      • メンバー | メンバープロファイルを見る

    • コミットステータスパブリッシャーに必要:

      • Git リポジトリ | 外部チェックステータスを報告する

      • コードレビューのコメント | コードレビューにコメントを投稿する

    • プルリクエストに必要:

      • コードレビュー | コードレビューを見る

    プロジェクトの管理者であれば、この 認証 タブでプロジェクトレベルの権限を承認できます。 メンバープロファイルの表示などのグローバル権限には、サーバー管理者の承認が必要です。

  5. アプリの 概要 に戻り、 認証 タブを開きます。

  6. クライアント資格情報 Flow を有効にします。

  7. TeamCity で Space 経由の認証を使用したり、Space リポジトリからプロジェクト/構成を作成したりできるようにするには、 認証コードフローも有効化します。 TeamCity サーバーの URL をリダイレクト URI として入力してください。 TeamCity がコールバック URL に一意の ID を追加するようにしたい場合は、TeamCity 接続の作成から始め、 接続を追加 ダイアログから URL をコピーします。 この URL は次のようになります: .../oauth/space/rid:your-unique-id/accessToken.html。 TeamCity サーバーが常に JetBrains Space に接続できるようにするには、サーバーのその他すべての可能なエンドポイントアドレスを指定してください。 ほとんどの場合、TeamCity の グローバル設定 で設定された サーバー URL を指定するだけで十分です。 ただし、TeamCity サーバーにプロキシを使用していて、このサーバーには直接アクセスする場合は、サーバーの IP アドレスもここで指定しない限り、認証が機能しない可能性があります。

  8. アプリの クライアント IDクライアントシークレットをコピーします。

: JetBrains Space でプロジェクトを作成しても、作成者はこのプロジェクトにメンバーとして自動的には追加されません。これは手動で行う必要があります。 TeamCity で表示できるのは、メンバーとして登録されているプロジェクトだけです。

TeamCity UI で接続を設定する

Space 接続の構成とインストールが完了したら、TeamCity に戻り、新しい JetBrains Space 接続を追加します。 接続設定で、次の接続パラメーターを入力します。

  • スペースサーバーの URL

  • Space アプリケーションのクライアント ID とシークレット

接続を保存し、 コミットステータスパブリッシャー機能または プルリクエスト機能の追加、 Space 認証の有効化 、または ビルド構成またはパイプライン/ビルド構成/VCS ルートの作成に進みます。

Kubernetes (クバネティス)

Kubernetes 接続により、TeamCity は Kubernetes リソースにアクセスできます。 これらの接続は 構築タスクを K8s クラスタにオフロードするに使用できます。

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. 接続の追加をクリックします。 接続は親プロジェクトとサブプロジェクトでのみ使用できることに注意してください。 接続をグローバルに使用できるようにするには、 ルートプロジェクトに追加します。

  3. "Kubernetes Connection" を 接続タイプ ドロップダウンメニューで選択します。

  4. KubernetesAPI サーバー(英語)の URL を指定します。

  5. クラスターの CA 証明書(英語)のコンテンツを入力します。

  6. 必要な Kubernetes 名前空間(英語)を指定します。 デフォルトの名前空間(英語)を使用するには、空のままにします。

  7. 必要な認証戦略を選択します。 選択した戦略に応じて、追加オプションのセットは異なります。 使用可能なオプションの詳細については、 Kubernetes のドキュメント(英語)を参照してください。

  8. TeamCity サーバーが k8s クラスターにアクセスするためにプロキシサーバーを使用する必要がある場合は、送信接続を許可するように次の設定を構成してください:

    • プロキシサーバーの URL を protocol://address:port 形式で指定してください。

    • プロキシサーバーの認証情報を入力してください。

    • プロキシサーバーを経由せずに直接利用できる必要があるホストを指定してください。 通常、これらはローカルネットワーク内の内部リソースです。 複数のエントリはコンマで区切ってください。例: http://localhost,*.mydomain.com

  9. 接続のテストをクリックして、TeamCity がリソースにアクセスできることを確認し、新しい接続を保存します。

NPM レジストリ

このタイプの接続により、 Node.js ランナーはビルド中にプライベート npm レジストリ(英語)にアクセスできます。 プロジェクトには複数の NPM レジストリ接続がある場合があるため、Node.js ビルドステップで使用する接続を選択するように 関連するビルド機能を構成する必要もあります。

接続設定:

設定

説明

スコープ

接続されたレジストリに 関連付ける (英語)npm ユーザー / 組織の スコープ (英語) (@ 文字の有無にかかわらず) を指定します。 プロジェクトごとに複数のレジストリを使用する場合は、それぞれのレジストリのスコープを指定する必要があります。

このプロジェクトでレジストリを 1 つだけ使用する場合は、空のままにします。 これは、デフォルトで npm/yarn コマンドによって使用されます。

レジストリ URL

npm レジストリ URL を次のフォーマットで指定します: http(s)://ホスト名[:ポート]。 例: https://npm.pkg.jetbrains.space/mycompany/p/projectkey/mynpm。 HTTPS スキーマはデフォルトで使用されます。

アクセストークン

レジストリへのアクセスに トークンが必要な場合は、トークン(英語)を指定します。 匿名アクセスの場合は空のままにします。 トークンベースの認証はレジストリの種類によって異なる場合があることに注意してください。 npm Enterprise(英語)Space パッケージ 、または GitHub パッケージ(英語)の手順を参照してください。

接続を保存して、 NPM レジストリ接続ビルド機能の追加に進みます。

Perforce 管理者アクセス

このタイプの接続では、 Perforce サーバー上でタスクストリームを処理できます。 接続設定で、Perforce サーバーにアクセスするためのホストとユーザーの資格情報を入力します(ユーザーは 管理者(英語)権限を持っている必要があります)。

HashiCorp Vault

この接続では、TeamCity リモートパラメーターが値を取得するシークレットボールトとの統合を設定できます。 詳しくは HashiCorp Vault 連携 を参照してください。

2026 年 9 月 11 日