Publikowanie i przywracanie pakietów NuGet z wiersza polecenia (dotnet)

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Usługa Azure Artifacts umożliwia publikowanie i przywracanie pakietów NuGet do i z kanału informacyjnego, co umożliwia udostępnianie ich innym osobom zgodnie z ustawieniami widoczności kanału informacyjnego. Ten przewodnik przeprowadzi Cię przez proces konfigurowania projektu w celu publikowania lub przywracania pakietów przy użyciu interfejsu wiersza polecenia dotnet.

Wymagania wstępne

  • Organizacja i projekt usługi Azure DevOps. Utwórz organizację lub projekt, jeśli jeszcze tego nie zrobiono.

  • Źródło danych usługi Azure Artifacts. Utwórz nowe źródło danych , jeśli jeszcze go nie masz.

  • Pobierz i zainstaluj dostawcę poświadczeń usługi Azure Artifacts.

  • Pobierz i zainstaluj zestaw .NET Core SDK (2.1.400+).

Połączenie do kanału informacyjnego

  1. Wybierz pozycję Artefakty, a następnie wybierz źródło danych z menu rozwijanego.

  2. Wybierz pozycję Połączenie do kanału informacyjnego, a następnie wybierz pozycję dotnet w sekcji NuGet po lewej stronie.

  3. Utwórz plik nuget.config w tym samym folderze co plik csproj lub sln. Skopiuj następujący fragment kodu XML i wklej go do nowego pliku, zastępując symbole zastępcze odpowiednimi informacjami:

  • Kanał informacyjny o zakresie organizacji:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <clear />
        <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
      </packageSources>
    </configuration>
    
  • Źródło danych o zakresie projektu:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <clear />
        <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
      </packageSources>
    </configuration>
    
  1. Zaloguj się do serwera usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz źródło danych.

  3. Wybierz pozycję Połączenie do kanału informacyjnego, a następnie wybierz pozycję dotnet w okienku nawigacji po lewej stronie.

  4. Postępuj zgodnie z instrukcjami w sekcji Konfiguracja projektu, aby nawiązać połączenie ze źródłem danych.

    Zrzut ekranu przedstawiający sposób nawiązywania połączenia z kanałem informacyjnym za pomocą aplikacji dotnet w usługach Azure DevOps Server 2020 i 2022.

Uwaga

platforma dotnet nie jest obsługiwana w usłudze Azure DevOps Server 2019.

Publikowanie pakietów

Uruchom następujące polecenie, aby opublikować pakiet w kanale informacyjnym. Zastąp symbole zastępcze odpowiednimi informacjami:

dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH> 

Przykład: dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg

Uwaga

Element api-key jest używany tylko jako symbol zastępczy.

Publikowanie pakietów ze źródeł zewnętrznych

  1. Utwórz osobisty token dostępu (PAT) z zakresem odczytu i zapisu pakietu.

  2. Zastąp symbol zastępczy PERSONAL_ACCESS_TOKEN> osobistym tokenem dostępu, a następnie uruchom następujące polecenie, aby dodać źródło pakietu do pliku nuget.config.< Spowoduje to dodanie tokenu dostępu do pliku nuget.config. Pamiętaj, aby bezpiecznie zapisać ten plik i nie zaewidencjonować go w kontroli źródła.

    dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Opublikuj pakiet:

    dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
    

Przykład: dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.configdotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg

Uwaga

Jeśli twoja organizacja korzysta z zapory lub serwera proxy, upewnij się, że zezwalasz na adresy URL i adresy IP domeny usługi Azure Artifacts.

Przywracanie pakietów

Uruchom następujące polecenie, aby przywrócić pakiety. Flaga --interactive służy do monitowania użytkownika o podanie poświadczeń:

dotnet restore --interactive