TeamCity On-Premises 2026.2 Help

TeamCity を NuGet フィードとして使用する方法

NuGet パッケージを限られた対象者に公開する場合、たとえば内部で使用する場合は、TeamCity を NuGet フィードとして使用できます。 TeamCity プロジェクトに複数の NuGet フィードを設定できます。

ビルトインの TeamCity NuGet フィードは API v1/v2/v3 をサポートしています。

NuGet フィードの有効化

TeamCity を NuGet サーバーとして使い始めるには、プロジェクトレベルで NuGet フィードを追加する必要があります — プロジェクト設定 | NuGet フィード で行います。 プロジェクトに複数の NuGet フィードを設定できます。

新しい NuGet フィードを追加 をクリックして、フィードを作成します。 オプションで、現在のプロジェクトとそのサブプロジェクトの 自動パッケージインデックス作成を有効にします。

次のフィードエンドポイントが利用可能です。

  • http://<teamcityUrl>/<authSchema>/app/nuget/feed/<projectName>/<feedName>/v1

  • http://<teamcityUrl>/<authSchema>/app/nuget/feed/<projectName>/<feedName>/v2

  • http://<teamcityUrl>/<authSchema>/app/nuget/feed/<projectName>/<feedName>/v3/index.json

ゲストユーザーを有効にしている場合は、NuGet フィードエンドポイントの基本 HTTP 認証とゲスト認証の切り替えが表示されます。

  • 基本 HTTP 認証 (httpAuth 接頭辞付き): パッケージにアクセスするには、ユーザーに「プロジェクトを見る 」権限が必要です。

  • ゲスト認証 (guestAuth 接頭辞付き): ゲストユーザーログインが有効化されている場合、パッケージは TeamCity サーバーにアクセスできるすべてのユーザーに表示されます。

TeamCity プロジェクトフィードを参照するには、次のようにパラメーターを使用します:

`teamcity.nuget.feed.<authSchema>.<projectName>.<feedName>.<apiVersion>

where:

  • authSchemaguestAuth/httpAuth である可能性があります

  • apiVersion は、たとえば v1/v2/v3 です: teamcity.nuget.feed.httpAuth._Root.default.v2

TeamCity をバージョン 2018.2 以降にアップグレードすると、グローバル NuGet フィードを参照している非推奨のパラメーターは、デフォルトの NuGet フィードへの参照に自動的に変換されます:

非推奨の参照

現在の参照

teamcity.nuget.feed.server

teamcity.nuget.feed.guestAuth._Root.default.v2

teamcity.nuget.feed.auth.server

teamcity.nuget.feed.httpAuth._Root.default.v2

system.teamcity.nuget.feed.auth.serverRootUrlBased.server

teamcity.nuget.feed.httpAuth._Root.default.v2

NuGet パッケージのインデックス作成

アーティファクトとして公開されたパッケージのインデックス作成

デフォルトでは、TeamCity はビルドによって公開された .nupkg アーティファクトをプロジェクト NuGet フィードに追加しません。 次のオプションのいずれかを選択できます。

  • 選択したビルド構成によってのみ公開されたパッケージのインデックスを作成するには、 NuGet パッケージインデクサービルド機能をこれらのビルド構成に追加します。

  • プロジェクトでビルドアーティファクトとして公開されたすべての .nupkg ファイルのインデックスを作成するには、 プロジェクト設定NuGet フィード セクションで 自動パッケージインデックス作成を有効にします。

  • NuGet Pack ビルドステップで、 作成したパッケージをビルドアーティファクトに公開チェックボックスを使用します。
    エージェントは、ビルドアーティファクトの公開中に .nupkg ファイルを索引付けします。

NuGet push コマンドの使用

ビルド中に .nupkg ファイルを TeamCity NuGet フィードに公開するには、次のビルドステップで、NuGet フィード URL をパッケージソースとして、 %teamcity.nuget.feed.api.key% 値をフィード鍵として指定できます:

パッケージのプッシュはビルド内からのみ可能であることに注意してください。 外部パッケージを TeamCity フィードにプッシュしようとしても失敗します。

シンボルパッケージ

NuGet シンボルパッケージを内部 TeamCity フィードに公開すると、外部ソースサーバーを使用する際に課題が発生する可能性があります。 パブリックトラッカーで 対応する問題(英語)を参照してください。

TeamCity NuGet フィードの使用

開発者マシンに TeamCity NuGet フィードをパッケージソースとして追加できます。 例: 開発中にパッケージを使用するには、IDE で dotnet nuget add source コマンドまたは NuGet パッケージ管理を使用します。

dotnet nuget add source <FEED_URL> --name TeamCity --username <USERNAME> --password <PASSWORD>

SSO を使用する場合は、 アクセストークンを生成し、それを --password 引数値として使用します。

TeamCity NuGet フィードを使用して、 NuGet Installer および NuGet Publish ビルドランナー、または .NET ランナーで MSBuild 復元 ターゲットを使って、ビルド内のパッケージを復元できます。 廃止された MSBuild および Visual Studio (sln) ランナーもサポートされています。
TeamCity は独自の 資格情報プロバイダーを使用して、プライベート TeamCity NuGet フィードへのリクエストを自動的に認証します。

混合認証環境で作業する場合、TeamCity サーバーを信頼するように Internet Explorer の設定を行う必要がある場合があります。

現在の制限

  • .NET SDK と .NET フレームワークツールを単一のビルドステップ内で混在して使用すると、認証に失敗する可能性があります。 例: MSBuild.exe を使用してプロジェクトをビルドする際に、.NET CLI コマンドを タスクの実行として実行した場合などに発生する可能性があります。 詳細は TW-93344(英語) を参照してください。

2026 年 9 月 11 日