Sdílet prostřednictvím


dotnet nuget push (příkaz pro publikování balíčků NuGet)

Tento článek se vztahuje na: ✔️ .NET 6 SDK a novější verze

Název

dotnet nuget push – Odešle balíček na server a publikuje ho.

Přehled

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

Popis

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 nalezených v konfiguračním souboru NuGet systému nebo řetězu konfiguračních souborů. Další informace o konfiguračníchsouborch 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 libovolné nuget.config nebo .nuget\nuget.config počínaje kořenem jednotky a končícím aktuálním adresářem.

Příkaz odešle existující balíček. Nevytvoří balíček. Chcete-li vytvořit balíček, použijte dotnet pack.

Hierarchická struktura složek

Tento příkaz může ukládat balíčky do hierarchické struktury složek, což se doporučuje k optimalizaci výkonu. Ukládá balíčky v hierarchické struktuře složek při publikování do místní složky (informačního kanálu), stejně jako nuget add v případě, že již existuje alespoň jeden balíček v informačním kanálu, který je v hierarchické struktuře složek. Pokud má informační kanál hierarchický balíček s 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 globální složky balíčků v %userprofile%.nuget\packages a vyberte kořenovou složku ID balíčku. Může to být jakýkoli balíček, který není součástí rozhraní, 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 naleznete v tématu Místní informační kanály.

Argumenty

  • ROOT

    Určuje cestu k souboru balíčku, který se má odeslat.

Možnosti

  • --allow-insecure-connections

    Umožňuje odesílání do zdrojů HTTP (nezabezpečené).

  • -d|--disable-buffering

    Zakáže ukládání do vyrovnávací paměti při nasdílení změn na server HTTP(S), aby se snížilo využití paměti.

  • --force-english-output

    Vynutí spuštění aplikace pomocí invariantní anglické jazykové verze.

  • -?|-h|--help

    Vytiskne popis použití příkazu.

  • --interactive

    Umožňuje příkazu zastavit a čekat na uživatelský vstup nebo akci. Například k dokončení ověřování.

  • -k|--api-key <API_KEY>

    Klíč rozhraní API pro server.

  • -n|--no-symbols

    Nenasdílí symboly (i když jsou přítomné).

  • --no-service-endpoint

    Nepřidá ke zdrojové adrese URL "api/v2/package".

  • -s|--source <SOURCE>

    Určuje adresu URL serveru. NuGet identifikuje zdroj UNC nebo místní složku a jednoduše zkopíruje soubor tam místo toho, aby ho nasdílelo pomocí protokolu HTTP.

    Důležité

    Počínaje NuGetem 3.4.2 je to povinný parametr, pokud konfigurační soubor NuGet neurčí DefaultPushSource hodnotu. Další informace naleznete v tématu Konfigurace chování NuGet.

  • --skip-duplicate

    Při odesílání více balíčků na server HTTP(S) považuje všechny konfliktní odpovědi 409 za upozornění, aby ostatní nabízení mohly pokračovat.

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

    Klíč rozhraní API pro server symbolů.

  • -ss|--symbol-source <SOURCE>

    Určuje adresu URL serveru symbolů.

  • -t|--timeout <TIMEOUT>

    Určuje časový limit pro nabízení na server v sekundách. Výchozí hodnota je 300 sekund (5 minut). Když zadáte hodnotu 0, použije se výchozí hodnota.

  • --configfile

    Konfigurační soubor NuGet (nuget.config), který se má použít. Pokud je zadáno, použijí se pouze nastavení z tohoto souboru. Pokud není zadáno, použije se hierarchie konfiguračních souborů z aktuálního adresáře. Další informace najdete v tématu Běžné konfigurace NuGet.

Příklady

  • Nasdílení příkazu foo.nupkg do výchozího zdroje nabízeného 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
    
  • Nasdílet foo.nupkg oficiálnímu serveru NuGet a zadat klíč rozhraní API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Nasdílení příkazu foo.nupkg do vlastního zdroje https://customsourcenabízených oznámení a zadání klíče rozhraní API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Nasdílení souboru 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
    
  • Nasdílení příkazu foo.nupkg do výchozího zdroje nabízeného oznámení zadaného v konfiguračním souboru NuGet s časovým limitem 360 sekund:

    dotnet nuget push foo.nupkg --timeout 360
    
  • Všechny soubory .nupkg v aktuálním adresáři nasdílejte do výchozího zdroje nabízených oznámení zadaných v konfiguračním souboru NuGet:

    dotnet nuget push "*.nupkg"
    
  • Odešle všechny soubory .nupkg do výchozího zdroje nabízeného oznámení zadaného v konfiguračním souboru NuGet, i když server HTTP(S) vrátí odpověď 409 Konflikt:

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Všechny soubory .nupkg v aktuálním adresáři nasdílejte do místního adresáře informačního kanálu:

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Informace o nasdílení změn do Azure Artifacts najdete v dokumentaci k nabízeným oznámením Azure Artifacts.