TeamCity On-Premises 2026.2 Help

認証

TeamCity CLI は複数の認証メソッドをサポートしています。 このページでは、対話型ログイン、ゲストアクセス、CI/CD 用のトークンベース認証、マルチサーバー設定、TeamCity ビルド内の自動認証について説明します。

対話型ログイン

認証の標準的な方法は、 teamcity auth login コマンドを使用することです。

teamcity auth login

これにより、対話型フローが開始されます。

  1. TeamCity サーバーの URL (例: https://teamcity.example.com) を入力します。

  2. CLI がブラウザーを開き、OAuth PKCE フローを使用してアクセスを直接承認します — トークンのコピーは不要です。

  3. サーバーで 2026.1 より古い TeamCity バージョンが実行されている場合、PKCE フローはサポートされません。 この場合、CLI は TeamCity アクセストークン ページへガイドし、トークンを手動で作成して貼り付けられるようにします。

  4. CLI はトークンを検証し、安全に保存します。

特定のサーバー URL で認証するには:

teamcity auth login --server https://teamcity.example.com

ブラウザーベースの認証をスキップしてトークンを手動で入力するには:

teamcity auth login --no-browser

トークンを直接渡すには(たとえば、パスワードマネージャーから):

teamcity auth login --server https://teamcity.example.com --token <token>

ブラウザーベースのログイン (PKCE)

TeamCity 2026.1 以降のサーバーは、アクセストークンを手動で発行する必要がない効率化された認可フローをサポートしています: OAuth 2.0 PKCE 標準 (RFC 7636)teamcity auth login コマンドを実行すると、次のチェーンイベントが発生します。

  1. CLI は、お使いのマシン上に一時的なローカルサーバーを起動します。

  2. ブラウザーで TeamCity 認可ページが開きます。

  3. 新しいアクセストークンの発行を承認すると、ブラウザーは認証コードとともに CLI にリダイレクトされます。

  4. CLI はコードをアクセストークンと交換します。

PKCE トークンには有効期限があります。 CLI はこの有効期限を追跡し、トークンの有効期限が近づいている場合、有効期限が切れた場合に警告を表示します。

$ teamcity auth status ✓ Logged in to https://teamcity.example.com User: John Doe (john.doe) · system keyring ! Token expires 2 hours from now (on Mar 25, 2026)

アクセストークンログイン

従来のアクセストークンフローをご希望の場合は、ブラウザーベースのログインをスキップして、トークンを手動で入力してください。

teamcity auth login --server https://teamcity.example.com --no-browser

CLI は TeamCity アクセストークン URL を表示し、ブラウザーで開くか確認してから、トークンを CLI に貼り付けるように求めます。

すでにトークンをお持ちの場合は、それを直接渡してください。

teamcity auth login --server https://teamcity.example.com --token <token>

認証ステータスを確認

現在の認証状態を表示します。

teamcity auth status

サーバーの URL、サーバーバージョン、認証されたユーザー名、トークンの保存方法が表示されます。

ログアウト

現在のサーバーの保存された資格情報を削除します。

teamcity auth logout

ゲストアクセス

TeamCity サーバーでゲストアクセスが有効化されている場合は、トークンなしで認証できます:

teamcity auth login --guest

特定のサーバー URL の場合:

teamcity auth login --server https://teamcity.example.com --guest

ゲスト認証は読み取り専用アクセスを提供します。 /guestAuth/ API 接頭辞を使用し、資格情報は必要とせず、保存もされません。

Authenticating with guest access

環境変数によるゲストアクセス

ゲストアクセスで十分な CI/CD 環境の場合:

export TEAMCITY_URL="https://teamcity.example.com" export TEAMCITY_GUEST=1

PowerShell:

$env:TEAMCITY_URL = "https://teamcity.example.com" $env:TEAMCITY_GUEST = "1"

Cmd:

set TEAMCITY_URL=https://teamcity.example.com set TEAMCITY_GUEST=1

トークンストレージ

TeamCity CLI は、利用可能な場合はシステムキーリングを使用してアクセストークンを保存します:

プラットフォーム

キーホルダー

macOS

キーチェーン

Linux

GNOME キーリング (または互換性のある秘密情報機関)

Windows

資格情報マネージャー

システムキーリングが利用できない場合、CLI はトークンをプレーンテキストで設定ファイル ~/.config/tc/config.yml に保存します。 プレーンテキストでの保存を強制するには(ヘッドレス環境など)、 --insecure-storage フラグを使用します。

teamcity auth login --insecure-storage

環境変数

CI/CD パイプラインやスクリプト環境では、対話型ログインの代わりに環境変数を使用してください。

export TEAMCITY_URL="https://teamcity.example.com" export TEAMCITY_TOKEN="your-access-token"

PowerShell:

$env:TEAMCITY_URL = "https://teamcity.example.com" $env:TEAMCITY_TOKEN = "your-access-token"

Cmd:

set TEAMCITY_URL=https://teamcity.example.com set TEAMCITY_TOKEN=your-access-token

ゲストアクセスの場合:

export TEAMCITY_URL="https://teamcity.example.com" export TEAMCITY_GUEST=1

PowerShell:

$env:TEAMCITY_URL = "https://teamcity.example.com" $env:TEAMCITY_GUEST = "1"

Cmd:

set TEAMCITY_URL=https://teamcity.example.com set TEAMCITY_GUEST=1

環境変数は構成ファイルとキーリングより優先されます。 TEAMCITY_URL を設定する場合は、同じ URL に対して TEAMCITY_TOKEN も設定してください — TEAMCITY_URL だけでは、 teamcity auth login に保存されている資格情報がバイパスされます。 保存された資格情報を使用するには、 TEAMCITY_URL を未設定のままにします。

高度な認証シナリオ

TeamCity ビルド内の認証

teamcity が TeamCity ビルド内で実行される場合、ビルドプロパティファイルのビルドレベル資格情報を使用して自動的に認証されます。 追加の設定は不要です。

これにより、トークンを保存または管理することなく、ビルド手順で teamcity コマンドを使用できます。

# Inside a TeamCity build step — no auth setup needed teamcity run list --job MyProject_Build --limit 5

複数のサーバー

複数の TeamCity サーバーで認証できます。 各サーバーの認証情報は個別に保存されます。

サーバーの追加

# First server teamcity auth login --server https://teamcity-prod.example.com # Additional server (becomes the new default) teamcity auth login --server https://teamcity-staging.example.com

サーバーの切り替え

特定のサーバーをターゲットにする方法はいくつかあります。

環境変数 (スクリプトに推奨):

TEAMCITY_URL=https://teamcity-prod.example.com teamcity run list

PowerShell:

$env:TEAMCITY_URL = "https://teamcity-prod.example.com" teamcity run list

Cmd:

set TEAMCITY_URL=https://teamcity-prod.example.com teamcity run list

セッション用にエクスポート:

export TEAMCITY_URL=https://teamcity-prod.example.com teamcity run list # uses teamcity-prod teamcity auth status # shows teamcity-prod

PowerShell:

$env:TEAMCITY_URL = "https://teamcity-prod.example.com" teamcity run list # uses teamcity-prod teamcity auth status # shows teamcity-prod

Cmd:

set TEAMCITY_URL=https://teamcity-prod.example.com teamcity run list # uses teamcity-prod teamcity auth status # shows teamcity-prod

デフォルトを変更するには再度ログイン:

teamcity auth login --server https://teamcity-prod.example.com

Kotlin DSL からのサーバー自動検出

TeamCity のバージョン設定を使用するプロジェクトで作業する場合、CLI は Kotlin DSL pom.xml からサーバー URL を検出できます。 現在のフォルダーとその親フォルダー内で .teamcity/ または .tc/ ディレクトリを検索し (TEAMCITY_DSL_DIR が設定されている場合はそれを使用します)、DSL プラグインリポジトリ URL からサーバー URL を抽出します。 この自動検出されたサーバー URL は、 TEAMCITY_URL が設定されていない場合に使用されます。 ただし、そのサーバーへの認証情報は別途必要です。

資格情報の優先順位

サーバー URL 解決順序(優先順位の高い順):

  1. TEAMCITY_URL 環境変数

  2. Kotlin DSL 自動検出 (TEAMCITY_DSL_DIR.teamcity/.tc/)

  3. ~/.config/tc/config.yml からの default_server

認証解決順序(優先順位の高い順):

  1. ゲスト認証 (TEAMCITY_GUEST またはゲストアクセスが設定されたサーバー)

  2. TEAMCITY_TOKEN 環境変数

  3. 解決されたサーバー URL の保存済みトークン (システムキーリングが最初に読み込まれ、 --insecure-storage が使用された場合はプレーンテキストの設定が読み込まれます。)

  4. TeamCity ビルド内で実行する場合のビルドレベル資格情報

2026 年 9 月 11 日