Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Ten artykuł przeprowadzi Cię przez proces łączenia się z Twoim kanałem informacyjnym i publikowania pakietów przy użyciu dwóch przepływów uwierzytelniania: dostawcy poświadczeń Azure Artifacts dla kanałów informacyjnych w Twojej organizacji oraz osobistego tokenu dostępu (PAT) dla kanałów informacyjnych hostowanych w innej organizacji.
Warunki wstępne
- Organizacja usługi Azure DevOps.
- Projekt Azure DevOps.
- Kanał informacyjny Azure Artifacts.
-
nuget.exe w wersji
4.8.0.5385lub nowszej. Azure Artifacts zaleca użycie narzędzia NuGet5.5.xlub nowszego w celu uzyskania najlepszej zgodności i niezawodności. - Aby publikować pakiety, musisz mieć rolę Feed Publisher (Contributor) lub wyższą.
Konfigurowanie dostawcy poświadczeń Azure Artifacts
Dostawca poświadczeń Azure Artifacts umożliwia bezpieczne uwierzytelnianie do feedów Azure Artifacts. Aby używać go z nuget.exe, należy najpierw dodać go do ścieżki wyszukiwania wtyczki NuGet. Aby uzyskać szczegółowe informacje, zobacz Instalacja i odnajdywanie wtyczki. Po dodaniu wtyczki wykonaj kroki instalacji systemu operacyjnego:
Użyj jednej z następujących metod, aby zainstalować dostawcę poświadczeń Azure Artifacts:
Instalacja ręczna
Pobierz najnowszą wersję Microsoft.NetFx48.NuGet.CredentialProvider.zip.
Wyodrębnij plik zip.
Skopiuj folder
netfxz wyodrębnionego archiwum do%UserProfile%/.nuget/plugins/. Foldernetfxjest wymagany do zapewnienia zgodności z programem nuget.exe.
Instalowanie przy użyciu skryptu pomocnika
Alternatywnie można użyć skryptu zautomatyzowanego pomocnika do uproszczonej instalacji. Upewnij się, że masz program PowerShell 5.1 lub nowszy, a następnie uruchom polecenie:
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
Aby uzyskać więcej informacji, zobacz repozytorium Azure Artifacts Credential Provider.
Połącz się z kanałem
Przed opublikowaniem pakietów skonfiguruj projekt i połącz się ze źródłem danych w następujący sposób:
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.
nuget.configDodaj plik do projektu w tym samym folderze co plik.csprojlub.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.
nuget.configDodaj plik do projektu w tym samym folderze co plik.csprojlub.sln, a następnie wklej podany fragment kodu XML do pliku.
Publikowanie w kanale informacyjnym w tej samej organizacji
Po skonfigurowaniu nuget.config i uwierzytelnieniu za pomocą dostawcy poświadczeń Azure Artifacts uruchom następujące polecenie, aby opublikować pakiet w swoim feedzie. Zastąp symbole zastępcze odpowiednimi wartościami:
nuget push <PACKAGE_PATH> -Source 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 -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ
Notatka
Dostawca poświadczeń Azure Artifacts obsługuje rzeczywiste uwierzytelnianie podczas wypychania, ale narzędzie NuGet nadal wymaga wartości -ApiKey, aby zaakceptować polecenie. Azure Artifacts ignoruje tę wartość, którą podajesz, więc działa dowolny niepusty ciąg znaków.
Publikowanie w kanale informacyjnym w innej organizacji
Jeśli docelowy kanał znajduje się w innej organizacji Azure DevOps, utwórz w tej organizacji token PAT i dodaj kanał jako źródło w pliku nuget.config.
Utwórz osobisty token dostępu (PAT) w organizacji docelowej z zakresem Pakiety>.
Uruchom następujące polecenie, aby dodać kanał jako źródło. To polecenie dodaje twój PAT do pliku
nuget.config, dlatego przechowuj ten plik w bezpiecznym miejscu i nie dodawaj go do 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>Opublikuj pakiet przy użyciu właśnie dodanej nazwy źródłowej.
nuget push <PACKAGE_PATH> -Source <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 -Source MySource -ApiKey AZ
Notatka
Jeśli organizacja korzysta z zapory lub serwera proxy, zezwól na dostęp do adresów URL domen Azure Artifacts i ich adresów IP.
Troubleshooting
Monit uwierzytelniania nie jest wyświetlany
Upewnij się, że dostawca poświadczeń Azure Artifacts jest zainstalowany i używasz wersji NuGet lub nowszej4.8.0.5385. Aby uzyskać instrukcje konfiguracji, zobacz Nawiązywanie połączenia z kanałami informacyjnymi Azure Artifacts za pomocą NuGet.exe.
Publikowanie kończy się niepowodzeniem, ponieważ wersja już istnieje
Wersje pakietów w Azure Artifacts są niezmienne. Po opublikowaniu wersji nie można jej zastąpić ani ponownie użyć tego samego numeru wersji, nawet jeśli usuniesz pakiet. Zaktualizuj wersję pakietu, ponownie skompiluj pakiet, a następnie opublikuj go ponownie.
Publikowanie kończy się niepowodzeniem za zaporą lub serwerem proxy
Zezwól na dostęp do adresów URL domen i adresów IP usługi Azure Artifacts, a następnie ponów próbę opublikowania.
Publikowanie kończy się niepowodzeniem z powodu błędu 403
Ten błąd zwykle oznacza, że Twoje konto nie ma uprawnień do publikowania w feedzie. Do wypychania pakietów potrzebujesz co najmniej roli Publisher kanału informacyjnego (współautora). Poproś właściciela kanału o zaktualizowanie Twojej roli, a następnie spróbuj ponownie.