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
Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz Artifacts , a następnie wybierz kanał z menu rozwijanego.
Wybierz pozycję Połącz z kanałem informacyjnym, a następnie wybierz pozycję dotnet w sekcji NuGet po lewej stronie.
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>
Zaloguj się do serwera usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz pozycję Artifacts, a następnie wybierz swój kanał.
Wybierz pozycję Połącz z kanałem informacyjnym, a następnie wybierz pozycję dotnet z lewego panelu nawigacji.
Postępuj zgodnie z instrukcjami w sekcji konfiguracja Project, aby nawiązać połączenie ze źródłem danych.
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.
Przejdź do organizacji obsługującej docelowy kanał i utwórz osobisty token dostępu (PAT) z Packaging>Read & write zakresem.
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>
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 .