Udostępnij za pośrednictwem


Publikowanie pakietów NuGet z wiersza polecenia (dotnet)

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

Ten przewodnik przeprowadzi Cię przez proces konfigurowania projektu w celu publikowania pakietów NuGet przy użyciu interfejsu wiersza polecenia dotnet.

Warunki wstępne

Produkt Wymagania
Usługi Azure DevOps — Organizacja usługi Azure DevOps .
— Projekt usługi Azure DevOps .
— Źródło danych usługi Azure Artifacts .
— Pobierz i zainstaluj dostawcę poświadczeń Azure Artifacts .
— Pobierz i zainstaluj .NET Core SDK (2.1.400+).

Połącz się z kanałem

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

  2. Wybierz Artifacts , a następnie wybierz kanał z menu rozwijanego.

  3. Wybierz pozycję Połącz z kanałem informacyjnym, a następnie wybierz pozycję dotnet w sekcji NuGet po lewej stronie.

  4. 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ę Artifacts, a następnie wybierz swój kanał.

  3. Wybierz pozycję Połącz z kanałem informacyjnym, a następnie wybierz pozycję dotnet z lewego panelu nawigacji.

  4. Postępuj zgodnie z instrukcjami w sekcji konfiguracja Project, 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ą rozwiązania dotnet w usługach Azure DevOps Server 2020 i 2022.

Notatka

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

Publikowanie pakietów w kanale informacyjnym w tej samej organizacji

Uruchom następujące polecenie, aby opublikować pakiet w swoim repozytorium. Zastąp symbole zastępcze odpowiednimi wartościami:

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

Notatka

api-key jest wymagany, ale podczas publikowania w kanale informacyjnym usługi Azure Artifacts można podać dowolny ciąg jako jego wartość.

Publikowanie pakietów w kanale informacyjnym w innej organizacji

Aby opublikować pakiety NuGet w kanale informacyjnym w innej organizacji usługi Azure DevOps, należy najpierw utworzyć osobisty token dostępu (PAT) w organizacji docelowej.

  1. Przejdź do organizacji obsługującej docelowy kanał i utwórz osobisty token dostępu (PAT) z Packaging>Read & write zakresem.

  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. Upewnij się, że ten plik jest przechowywany bezpiecznie i nie jest zaewidencjonowany 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. Uruchom następujące polecenie, aby opublikować 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.config

dotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg

Notatka

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