dotnet-nuget-push - Pushes a package to the server and publishes it.

dotnet nuget push  NAME  SYNOPSIS  DESCRIPTION  ARGUMENTS  OPTIONS  EXAMPLES 

dotnet nuget push

This article applies to: ✔️ .NET Core 3.1 SDK and later versions

NAME

dotnet-nuget-push - Pushes a package to the server and publishes it.

SYNOPSIS

dotnet nuget push [<ROOT>] [-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>]

dotnet nuget push -h|--help

DESCRIPTION

The dotnet nuget push command pushes a package to the server and publishes it. The push command uses server and credential details found in the system’s NuGet config file or chain of config files. For more information on config files, see Configuring NuGet Behavior. NuGet’s default configuration is obtained by loading %AppData%.config (Windows) or $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS), then loading any nuget.config or .nuget.config starting from the root of drive and ending in the current directory.

The command pushes an existing package. It doesn’t create a package. To create a package, use dotnet pack.

ARGUMENTS

ROOT

Specifies the file path to the package to be pushed.

OPTIONS

-d|--disable-buffering

Disables buffering when pushing to an HTTP(S) server to reduce memory usage.

--force-english-output

Forces the application to run using an invariant, English-based culture.

-?|-h|--help

Prints out a description of how to use the command.

--interactive

Allows the command to stop and wait for user input or action. For example, to complete authentication. Available since .NET Core 3.0 SDK.

-k|--api-key <API_KEY>

The API key for the server.

-n|--no-symbols

Doesn’t push symbols (even if present).

--no-service-endpoint

Doesn’t append “api/v2/package” to the source URL.

-s|--source <SOURCE>

Specifies the server URL. NuGet identifies a UNC or local folder source and simply copies the file there instead of pushing it using HTTP. > > Starting with NuGet 3.4.2, this is a mandatory parameter unless the NuGet config file specifies a DefaultPushSource value. For more information, see Configuring NuGet behavior.

--skip-duplicate

When pushing multiple packages to an HTTP(S) server, treats any 409 Conflict response as a warning so that the push can continue.

-sk|--symbol-api-key <API_KEY>

The API key for the symbol server.

-ss|--symbol-source <SOURCE>

Specifies the symbol server URL.

-t|--timeout <TIMEOUT>

Specifies the timeout for pushing to a server in seconds. Defaults to 300 seconds (5 minutes). Specifying 0 applies the default value.

EXAMPLES

Push foo.nupkg to the default push source specified in the NuGet config file, using an API key:

dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a

Push foo.nupkg to the official NuGet server, specifying an API key:

dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json

Push foo.nupkg to the custom push source https://customsource, specifying an API key:

dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/

Push foo.nupkg to the default push source specified in the NuGet config file:

dotnet nuget push foo.nupkg

Push foo.symbols.nupkg to the default symbols source:

dotnet nuget push foo.symbols.nupkg

Push foo.nupkg to the default push source specified in the NuGet config file, with a 360-second timeout:

dotnet nuget push foo.nupkg --timeout 360

Push all .nupkg files in the current directory to the default push source specified in the NuGet config file:

dotnet nuget push "*.nupkg"

If this command doesn’t work, it might be due to a bug that existed in older versions of the SDK (.NET Core 2.1 SDK and earlier versions). To fix this, upgrade your SDK version or run the following command instead: dotnet nuget push "**/*.nupkg"

The enclosing quotes are required for shells such as bash that perform file globbing. For more information, see NuGet/Home#4393 (https://github.com/NuGet/Home/issues/4393#issuecomment-667618120).

Push all .nupkg files to the default push source specified in the NuGet config file, even if a 409 Conflict response is returned by an HTTP(S) server:

dotnet nuget push "*.nupkg" --skip-duplicate

Push all .nupkg files in the current directory to a local feed directory:

dotnet nuget push "*.nupkg" -s c:\mydir

For pushing to Azure Artifacts, see Azure Artifacts’ push documentation.

This command doesn’t store packages in a hierarchical folder structure, which is recommended to optimize performance. For more information, see Local feeds.


Updated 2024-01-29 - jenkler.se | uex.se