dotnet nuget push
Tento článek se týká: ✔️ .NET Core 3.1 SDK a novějších verzí
Name
dotnet nuget push
- Odešle balíček na server a publikuje ho.
Synopse
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
Příkaz dotnet nuget push
odešle balíček na server a publikuje ho. Příkaz push používá podrobnosti o serveru a přihlašovacích údajích, které najdete v konfiguračním souboru NuGet systému nebo v řetězu konfiguračních souborů. Další informace o konfiguračních souborech najdete v tématu Konfigurace chování NuGet. Výchozí konfigurace NuGetu se získá načtením %AppData%\NuGet\NuGet.config (Windows) nebo $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS) a načtením všech nuget.config nebo .nuget\nuget.config počínaje kořenem jednotky a končícím v aktuálním adresáři.
Příkaz nasdílí existující balíček. Nevytvoří balíček. K vytvoření balíčku použijte dotnet pack
.
Hierarchická struktura složek
Tento příkaz může ukládat balíčky v hierarchické struktuře složek, která se doporučuje optimalizovat výkon. Při publikování do místní složky (informačního kanálu) ukládá balíčky v hierarchické struktuře složek, stejně jako nuget add
v případě, že už v informačním kanálu existuje alespoň jeden balíček, který je v hierarchické struktuře složek. Pokud informační kanál už obsahuje hierarchický balíček se strukturovanou složkou, dotnet nuget push
respektuje danou strukturu. Pokud tedy chcete publikovat do místního informačního kanálu pomocí rozhraní příkazového řádku .NET MÍSTO rozhraní příkazového řádku NuGet:
- Před publikováním prvního balíčku přejděte do složky globálních balíčků na adrese %userprofile%.nuget\packages a vyberte kořenovou složku s ID balíčku. Může to být jakýkoli balíček, který není součástí architektury, jako je .NET Standard nebo ASP.NET.
- Zkopírujte vybranou složku balíčku do kořenové složky místního informačního kanálu.
- Slouží
dotnet nuget push
k publikování balíčku do místního informačního kanálu. - Teď můžete odstranit složku, kterou jste předtím zkopírovali, a můžete ji volně použít
dotnet nuget push
k publikování do místního informačního kanálu.
Alternativně použijte rozhraní příkazového řádku NuGet pro první balíček a pak můžete použít dotnet nuget push
pro zbytek. Další informace najdete v tématu Místní informační kanály.
Argumenty
ROOT
Určuje cestu k souboru k balíčku, který se má odeslat.
Možnosti
-d|--disable-buffering
Zakáže ukládání do vyrovnávací paměti při odesílání na server HTTP(S), aby se snížilo využití paměti.
--force-english-output
Vynutí spuštění aplikace pomocí invariantní jazykové verze založené na angličtině.
-?|-h|--help
Vytiskne popis použití příkazu.
--interactive
Umožňuje příkaz zastavit a čekat na vstup nebo akci uživatele. Například k dokončení ověřování. K dispozici od sady .NET Core 3.0 SDK.
-k|--api-key <API_KEY>
Klíč rozhraní API pro server.
-n|--no-symbols
Netlačí symboly (i když jsou k dispozici).
--no-service-endpoint
Ke zdrojové adrese URL nepřidá "api/v2/package".
-s|--source <SOURCE>
Určuje adresu URL serveru. NuGet identifikuje unc nebo zdroj místní složky a jednoduše zkopíruje soubor místo toho, aby ho nasdílil pomocí PROTOKOLU HTTP.
Důležité
Počínaje verzí NuGet 3.4.2 se jedná o povinný parametr, pokud konfigurační soubor NuGet neurčuje
DefaultPushSource
hodnotu. Další informace najdete v tématu Konfigurace chování NuGet.--skip-duplicate
Při odesílání více balíčků na server HTTP(S) zachází se všemi odpověďmi na konflikty 409 jako s upozorněním, aby ostatní nabízená oznámení mohly pokračovat.
-sk|--symbol-api-key <API_KEY>
Klíč rozhraní API pro server symbolů.
-ss|--symbol-source <SOURCE>
Určuje adresu URL serveru se symboly.
-t|--timeout <TIMEOUT>
Určuje časový limit pro odeslání na server v sekundách. Výchozí hodnota je 300 sekund (5 minut). Zadáním hodnoty 0 se použije výchozí hodnota.
Příklady
Odešlete foo.nupkg do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet pomocí klíče rozhraní API:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
Odešlete foo.nupkg na oficiální server NuGet zadáním klíče rozhraní API:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
Nasdílení foo.nupkg do vlastního zdroje
https://customsource
nabízených oznámení zadáním klíče rozhraní API:dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
Odešlete foo.nupkg do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet:
dotnet nuget push foo.nupkg
Nasdílení foo.symbols.nupkg do výchozího zdroje symbolů:
dotnet nuget push foo.symbols.nupkg
Odešlete foo.nupkg do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet s časovým limitem 360 sekund:
dotnet nuget push foo.nupkg --timeout 360
Nasdílejte všechny soubory .nupkg v aktuálním adresáři do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet:
dotnet nuget push "*.nupkg"
Poznámka
Pokud tento příkaz nefunguje, může to být způsobeno chybou, která existovala ve starších verzích sady SDK (.NET Core 2.1 SDK a starších verzích). Pokud chcete tento problém vyřešit, upgradujte verzi sady SDK nebo místo toho spusťte následující příkaz:
dotnet nuget push "**/*.nupkg"
Poznámka
Uzavírací uvozovky jsou vyžadovány pro prostředí, jako je Bash, která provádějí globbing souborů. Další informace najdete v tématu NuGet/Home#4393.
Nasdílejte všechny soubory .nupkg do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet, i když server HTTP(S) vrátí odpověď 409 Conflict:
dotnet nuget push "*.nupkg" --skip-duplicate
Nasdílejte všechny soubory .nupkg v aktuálním adresáři do adresáře místního informačního kanálu:
dotnet nuget push "*.nupkg" -s c:\mydir
Informace o naháčkování do Azure Artifacts najdete v dokumentaci k nabízeným oznámením azure Artifacts.