Udostępnij za pośrednictwem


dotnet nuget push

Ten artykuł dotyczy: ✔️ zestaw .NET Core 3.1 SDK i nowsze wersje

Nazwa

dotnet nuget push — Wypycha pakiet do serwera i publikuje go.

Streszczenie

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

Opis

Polecenie dotnet nuget push wypycha pakiet na serwer i publikuje go. Polecenie wypychania używa szczegółów serwera i poświadczeń znalezionych w pliku konfiguracji NuGet systemu lub łańcuchu plików konfiguracji. Aby uzyskać więcej informacji na temat plików konfiguracji, zobacz Konfigurowanie zachowania NuGet. Domyślna konfiguracja narzędzia NuGet jest uzyskiwana przez załadowanie pliku %AppData%\NuGet\NuGet.config (Windows) lub $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS), a następnie załadowanie dowolnego nuget.config lub nuget\nuget.config rozpoczynającego się od katalogu głównego i kończącego się w bieżącym katalogu.

Polecenie wypycha istniejący pakiet. Nie tworzy pakietu. Aby utworzyć pakiet, użyj polecenia dotnet pack.

Hierarchiczna struktura folderów

To polecenie może przechowywać pakiety w hierarchicznej strukturze folderów, co jest zalecane do optymalizacji wydajności. Przechowuje pakiety w strukturze folderów hierarchicznych podczas publikowania w folderze lokalnym (kanale informacyjnym), podobnie jak nuget add w przypadku, gdy w strukturze folderów hierarchicznych znajduje się co najmniej jeden pakiet. Jeśli źródło danych ma już w nim hierarchiczny pakiet ustrukturyzowany folderu, dotnet nuget push uwzględnia strukturę. Jeśli więc chcesz opublikować w lokalnym kanale informacyjnym przy użyciu interfejsu wiersza polecenia platformy .NET zamiast interfejsu wiersza polecenia NuGet:

  • Przed opublikowaniem pierwszego pakietu przejdź do folderu pakietów globalnych w folderze %userprofile%.nuget\packages i wybierz folder główny identyfikatora pakietu. Może to być dowolny pakiet, który nie jest częścią struktury, takiej jak .NET Standard lub ASP.NET.
  • Skopiuj wybrany folder pakietu do folderu głównego lokalnego kanału informacyjnego.
  • Użyj polecenia dotnet nuget push , aby opublikować pakiet w lokalnym kanale informacyjnym.
  • Teraz możesz usunąć wcześniej skopiowany folder i można go swobodnie użyć dotnet nuget push do opublikowania w lokalnym kanale informacyjnym.

Alternatywnie użyj interfejsu wiersza polecenia NuGet dla pierwszego pakietu, a następnie możesz użyć dotnet nuget push go w pozostałej części. Aby uzyskać więcej informacji, zobacz Lokalne źródła danych.

Argumenty

  • ROOT

    Określa ścieżkę pliku do pakietu do wypchnięcia.

Opcje

  • -d|--disable-buffering

    Wyłącza buforowanie podczas wypychania do serwera HTTP(S), aby zmniejszyć użycie pamięci.

  • --force-english-output

    Wymusza uruchomienie aplikacji przy użyciu niezmiennej kultury opartej na języku angielskim.

  • -?|-h|--help

    Wyświetla opis sposobu używania polecenia.

  • --interactive

    Umożliwia zatrzymanie polecenia i oczekiwanie na wprowadzenie lub działanie użytkownika. Na przykład w celu ukończenia uwierzytelniania. Dostępny od zestawu .NET Core 3.0 SDK.

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

    Klucz interfejsu API dla serwera.

  • -n|--no-symbols

    Nie wypycha symboli (nawet jeśli istnieją).

  • --no-service-endpoint

    Nie dołącza "api/v2/package" do źródłowego adresu URL.

  • -s|--source <SOURCE>

    Określa adres URL serwera. Narzędzie NuGet identyfikuje źródło UNC lub folder lokalny i po prostu kopiuje tam plik zamiast wypychać go przy użyciu protokołu HTTP.

    Ważne

    Począwszy od nuGet 3.4.2, jest to obowiązkowy parametr, chyba że plik konfiguracji NuGet określa DefaultPushSource wartość. Aby uzyskać więcej informacji, zobacz Konfigurowanie zachowania narzędzia NuGet.

  • --skip-duplicate

    Podczas wypychania wielu pakietów do serwera HTTP traktuje dowolną odpowiedź powodującą konflikt 409 jako ostrzeżenie, aby inne wypychania mogły kontynuować.

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

    Klucz interfejsu API dla serwera symboli.

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

    Określa adres URL serwera symboli.

  • -t|--timeout <TIMEOUT>

    Określa limit czasu wypychania do serwera w sekundach. Wartość domyślna to 300 sekund (5 minut). Określenie wartości 0 stosuje wartość domyślną.

Przykłady

  • Wypchnij plik foo.nupkg do domyślnego źródła wypychania określonego w pliku konfiguracji NuGet przy użyciu klucza interfejsu API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Wypychanie pliku foo.nupkg do oficjalnego serwera NuGet, określając klucz interfejsu API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Wypychanie pliku foo.nupkg do niestandardowego źródła https://customsourcewypychania , określając klucz interfejsu API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Wypchnij plik foo.nupkg do domyślnego źródła wypychania określonego w pliku konfiguracji NuGet:

    dotnet nuget push foo.nupkg
    
  • Wypchnij plik foo.symbols.nupkg do domyślnego źródła symboli:

    dotnet nuget push foo.symbols.nupkg
    
  • Wypchnij plik foo.nupkg do domyślnego źródła wypychania określonego w pliku konfiguracji NuGet z limitem czasu 360 sekund:

    dotnet nuget push foo.nupkg --timeout 360
    
  • Wypchnij wszystkie pliki nupkg w bieżącym katalogu do domyślnego źródła wypychania określonego w pliku konfiguracji NuGet:

    dotnet nuget push "*.nupkg"
    

    Uwaga

    Jeśli to polecenie nie działa, może to być spowodowane usterką, która istniała w starszych wersjach zestawu SDK (zestaw SDK platformy .NET Core 2.1 i starsze wersje). Aby rozwiązać ten problem, uaktualnij wersję zestawu SDK lub uruchom następujące polecenie: dotnet nuget push "**/*.nupkg"

    Uwaga

    Cudzysłowy są wymagane dla powłok, takich jak powłoki bash, które wykonują globbing plików. Aby uzyskać więcej informacji, zobacz NuGet/Home#4393.

  • Wypchnij wszystkie pliki nupkg do domyślnego źródła wypychania określonego w pliku konfiguracji NuGet, nawet jeśli odpowiedź powodująca konflikt 409 jest zwracana przez serwer HTTP(S):

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Wypchnij wszystkie pliki nupkg w bieżącym katalogu do katalogu lokalnego źródła danych:

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Aby wypchnąć do usługi Azure Artifacts, zobacz dokumentację wypychania usługi Azure Artifacts.