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

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

Za pomocą usługi Azure Artifacts możesz publikować pakiety NuGet zarówno w publicznych, jak i prywatnych źródłach danych, umożliwiając udostępnianie ich innym osobom na podstawie ustawień widoczności kanału informacyjnego. Ten artykuł przeprowadzi Cię przez proces nawiązywania połączenia ze źródłem danych usługi Azure Artifacts i publikowaniem i przywracaniem pakietów NuGet.

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.

  • Dostawca poświadczeń usługi Azure Artifacts.

  • Najnowsza wersja narzędzia NuGet.

Połączenie do kanału informacyjnego

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

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

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

  4. Dodaj plik nuget.config do projektu w tym samym folderze co plik csproj lub .sln. Wklej podany fragment kodu XML do pliku. Fragment kodu powinien wyglądać następująco:

    • Kanał informacyjny o zakresie organizacji:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_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="<SOURCE_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ę NuGet.exe 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.

  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ę NuGet w okienku nawigacji po lewej stronie.

  4. Postępuj zgodnie z podanymi instrukcjami, aby dodać adres URL źródła pakietu do pliku nuget.config .

Publikowanie pakietów

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

nuget push <PACKAGE_PATH> -src https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>

Przykład:

nuget push MyPackage.5.0.2.nupkg -src https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ

Uwaga

Jest ApiKey to wymagane, ale podczas wypychania do kanałów informacyjnych usługi Azure Artifacts można użyć dowolnej wartości.

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

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

  2. Dodaj źródło pakietu do pliku nuget.config . Spowoduje to dodanie tokenu dostępu do pliku nuget.config . Zapisz ten plik w bezpiecznej lokalizacji i upewnij się, że nie zaewidencjonujesz go w kontroli źródła.

    nuget sources Add -Name <SOURCE_NAME> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -UserName <USER_NAME> -Password <PERSONAL_ACCESS_TOKEN> -config <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Opublikuj pakiet NuGet w kanale informacyjnym:

    nuget push <PACKAGE_PATH> -src <SOURCE_NAME> -ApiKey <ANY_STRING>
    

Przykład:

nuget sources Add -Name "MySource" -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -UserName MyUserName -Password YourPersonalAccessToken -config ./nuget.config
nuget push nupkgs/mypackage.1.1.8.nupkg -src MySource -ApiKey AZ

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 w katalogu projektu, aby przywrócić pakiety:

nuget.exe restore