この記事の対象: ✔️ .NET 6 SDK 以降のバージョン
名前
dotnet nuget push - パッケージをサーバーにプッシュし、発行します。
概要
dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-d|--disable-buffering] [--force-english-output]
[--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
[--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
[-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
[-t|--timeout <TIMEOUT>]
[--configfile <FILE>]
dotnet nuget push -h|--help
説明
dotnet nuget push コマンドは、パッケージをサーバーにプッシュして発行します。 プッシュ コマンドは、システムの NuGet 構成ファイルまたは構成ファイルのチェーンにあるサーバーと資格情報の詳細を使用します。 構成ファイルの詳細については、「 NuGet 動作の構成」を参照してください。 NuGet の既定の構成は 、%AppData%\NuGet\NuGet.config (Windows) または $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS) を読み込み、ドライブのルートから現在のディレクトリで終わる nuget.config または .nuget\nuget.config を読み込むことで取得されます。
このコマンドは、既存のパッケージをプッシュします。 パッケージは作成されません。 パッケージを作成するには、 dotnet packを使用します。
階層フォルダー構造
このコマンドは、パフォーマンスを最適化するために推奨される階層フォルダー構造にパッケージを格納できます。 階層フォルダー構造にあるパッケージがフィードに既に 1 つ存在する場合、 nuget add のように、ローカル フォルダー (フィード) に発行すると、パッケージが階層フォルダー構造に格納されます。 フィードに階層構造のフォルダー構造パッケージが既に含まれている場合、 dotnet nuget push はその構造を考慮します。 そのため、NuGet CLI の代わりに .NET CLI を使用してローカル フィードに発行する場合は、次のようにします。
- 最初のパッケージを発行する前に、グローバル パッケージ フォルダー ( .nuget\packages%userprofile%) に移動し、パッケージ ID のルート フォルダーを選択します。.NET Standard や ASP.NET など、フレームワークに含まれていない任意のパッケージを指定できます。
- 選択したパッケージ フォルダーをローカル フィードのルート フォルダーにコピーします。
-
dotnet nuget pushを使用して、パッケージをローカル フィードに発行します。 - 以前にコピーしたフォルダーを削除できるようになりました。
dotnet nuget pushを自由に使用してローカル フィードに発行できます。
または、最初のパッケージに NuGet CLI を使用してから、残りのパッケージに dotnet nuget push を使用することもできます。 詳細については、「 ローカル フィード」を参照してください。
論争
ROOTプッシュするパッケージへのファイル パスを指定します。
オプション
--allow-insecure-connectionsHTTP ソースへのプッシュを許可します (安全ではありません)。
-d|--disable-bufferingHTTP (S) サーバーにプッシュするときにバッファー処理を無効にして、メモリ使用量を減らします。
--force-english-outputインバリアントの英語ベースのカルチャを使用してアプリケーションを強制的に実行します。
-
-?|-h|--helpコマンドの使用方法を示した説明を出力します。
-
--interactiveコマンドを停止して、ユーザーの入力または操作のために待機させることができます。 たとえば、認証を完了する場合があります。
-k|--api-key <API_KEY>サーバーの API キー。
-n|--no-symbols(存在する場合でも) シンボルをプッシュしません。
--no-service-endpointソース URL に "api/v2/package" を追加しません。
-s|--source <SOURCE>サーバー URL を指定します。 NuGet は UNC またはローカル フォルダー ソースを識別し、HTTP を使用してプッシュするのではなく、ファイルをそこにコピーするだけです。
Von Bedeutung
NuGet 3.4.2 以降では、NuGet 構成ファイルで
DefaultPushSource値が指定されていない限り、これは必須パラメーターです。 詳しくは、「NuGet の動作の構成」をご覧ください。--skip-duplicate複数のパッケージを HTTP(S) サーバーにプッシュする場合、他のプッシュを続行できるように、409 競合応答を警告として扱います。
-sk|--symbol-api-key <API_KEY>シンボル サーバーの API キー。
-ss|--symbol-source <SOURCE>シンボル サーバーの URL を指定します。
-t|--timeout <TIMEOUT>サーバーにプッシュするタイムアウトを秒単位で指定します。 既定値は 300 秒 (5 分) です。 0 を指定すると、既定値が適用されます。
--configfile使用する NuGet 構成ファイル (nuget.config)。 指定した場合、このファイルの設定のみが使用されます。 指定しない場合、現在のディレクトリからの構成ファイルの階層が使用されます。 詳細については、「一般的な NuGet 構成」をご覧ください。
例示
API キーを使用して、NuGet 構成ファイルで指定された既定のプッシュ ソースに foo.nupkg をプッシュします。
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3aAPI キーを指定して、 foo.nupkg を公式の NuGet サーバーにプッシュします。
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.jsonAPI キーを指定して、 foo.nupkg をカスタム プッシュ ソース
https://customsourceにプッシュします。dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/NuGet 構成ファイルで指定された既定のプッシュ ソースに foo.nupkg をプッシュします。
dotnet nuget push foo.nupkgfoo.symbols.nupkg を既定のシンボル ソースにプッシュします。
dotnet nuget push foo.symbols.nupkg360 秒のタイムアウトで、NuGet 構成ファイルで指定された既定のプッシュ ソースに foo.nupkg をプッシュします。
dotnet nuget push foo.nupkg --timeout 360現在のディレクトリ内のすべての .nupkg ファイルを、NuGet 構成ファイルで指定された既定のプッシュ ソースにプッシュします。
dotnet nuget push "*.nupkg"HTTP(S) サーバーから 409 競合応答が返された場合でも、NuGet 構成ファイルで指定された既定のプッシュ ソースにすべての .nupkg ファイルをプッシュします。
dotnet nuget push "*.nupkg" --skip-duplicate現在のディレクトリ内のすべての .nupkg ファイルをローカル フィード ディレクトリにプッシュします。
dotnet nuget push "*.nupkg" -s c:\mydirAzure Artifacts へのプッシュについては、 Azure Artifacts のプッシュに関するドキュメントを参照してください。
.NET