Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Ten artykuł przeprowadzi Cię przez proces konfigurowania projektu i publikowania pakietów NuGet przy użyciu interfejsu wiersza polecenia NuGet.
Warunki wstępne
| produktu | Wymagania |
|---|---|
| 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ń usługi Azure Artifacts. — Najnowsza wersja NuGet . |
Połącz się z kanałem
Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz pozycję Artifacts, a następnie wybierz swój kanał z menu rozwijanego.
Wybierz pozycję Połącz z kanałem informacyjnym, a następnie wybierz pozycję NuGet.exe w okienku nawigacji po lewej stronie.
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 zasięgu organizacyjnym:
<?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>kanał informacyjny 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>
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 Połącz z kanałem informacyjnym, a następnie wybierz NuGet.exe w okienku nawigacji po lewej stronie.
Postępuj zgodnie z instrukcjami w sekcji Konfiguracja projektu, aby połączyć się ze źródłem.
Publikowanie pakietów w kanale informacyjnym w tej samej organizacji
Uruchom następujące polecenie, aby opublikować pakiet do swojego rejestru. Zastąp symbole zastępcze odpowiednimi wartościami:
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
Notatka
api-key jest wymagany, ale podczas publikowania w kanale informacyjnym usługi Azure Artifacts można podać dowolny ciąg jako jego wartość.
Publikuj pakiety do kanału 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ł informacyjny i utwórz osobisty token dostępu (personal access token, PAT) z Packaging>odczyt i zapis jako zakres uprawnień.
Uruchom następujące polecenie, aby dodać źródło pakietu do pliku nuget.config. To doda twój PAT do pliku nuget.config. Zapisz ten plik w bezpiecznej lokalizacji i upewnij się, że nie umieścisz go w systemie kontroli wersji.
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>Uruchom następujące polecenie, aby opublikować pakiet:
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
Notatka
Jeśli twoja organizacja korzysta z zapory lub serwera proxy, upewnij się, że zezwalasz na adresy URL domen Azure Artifacts oraz adresy IP.