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
Azure Artifacts ułatwia przechowywanie pakietów i zarządzanie nimi za pomocą pojedynczego kanału informacyjnego. Pakiety można udostępniać w swoim zespole, w organizacjach lub w przypadku istniejących projektów publicznych publicznie. W tym artykule pokazano, jak skonfigurować projekt i uwierzytelnić się w kanale informacyjnym Azure Artifacts przy użyciu NuGet.exe.
Wymagania wstępne
| produkt | Wymagania |
|---|---|
| Azure DevOps | — Organizacja usługi Azure DevOps . — Projekt usługi Azure DevOps . — Źródło danych usługi Azure Artifacts . — Pobierz i zainstaluj nuget.exe wersję lub nowszą 4.8.0.5385 . Zalecamy korzystanie z programu NuGet w wersji 5.5.x lub nowszej, która zawiera ważne poprawki błędów dotyczące anulowania i przekroczeń limitu czasu. |
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 poniższe 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żesz zautomatyzować instalację za pomocą skryptu pomocnika. 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.
Konfiguracja projektu
Wykonaj następujące kroki, aby skonfigurować projekt i dodać źródło danych do nuget.config pliku, aby nuGet wiedział, gdzie przywrócić i opublikować pakiety. Używany adres URL kanału informacyjnego zależy od tego, czy źródło danych jest ograniczone do projektu, czy do organizacji.
Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz pozycję Artefakty, 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, a następnie wklej do niego podany fragment kodu. Pliknuget.configpowinien przypominać jeden z następujących przykładów:Kanał informacyjny w 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>Kanał informacyjny na potrzeby 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>
Zaloguj się do kolekcji usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz pozycję Artefakty, a następnie wybierz swój kanał z menu rozwijanego.
Wybierz Połącz z kanałem informacyjnym, a następnie wybierz NuGet.exe w okienku nawigacji po lewej stronie.
Dodaj plik
nuget.configdo projektu w tym samym folderze co plik.csprojlub.sln, a następnie wklej do tego pliku fragment kodu podany w sekcji Konfiguracja projektu.
Uwaga / Notatka
Dostawca poświadczeń Azure Artifacts wymaga wersji NuGet lub nowszej4.8.0.5385. Azure Artifacts zaleca użycie narzędzia NuGet 5.5.x lub nowszego w celu uzyskania najlepszej zgodności i niezawodności.
Konfiguracja starszego projektu
Jeśli używasz starszej wersji pakietu NuGet, która nie obsługuje zalecanego przepływu w wersji 3, nadal możesz nawiązać połączenie ze źródłem danych przy użyciu starszego punktu końcowego w wersji 2 i osobistego tokenu dostępu (PAT). Użyj tej metody tylko wtedy, gdy nie można przejść do nowszego klienta.
Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.
Wybierz pozycję Artefakty, a następnie wybierz swój kanał z menu rozwijanego.
Wybierz Połącz z kanałem informacyjnym, a następnie wybierz NuGet.exe z lewej strony.
Skopiuj źródłowy adres URL z sekcji Konfiguracja projektu , a następnie zastąp ciąg
/v3/index.jsonciągiem/v2. Zaktualizowany adres URL źródła powinien wyglądać następująco:Kanał informacyjny w zakresie projektu:
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2Kanał informacyjny na potrzeby organizacji
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
Utwórz osobisty token dostępu. Określ zakres tokenu dla organizacji, do której chcesz uzyskać dostęp, a następnie wybierz jeden z następujących zakresów w zależności od potrzeb: Pakowanie (odczyt), pakowanie (odczyt i zapis) lub pakowanie (odczyt, zapis i zarządzanie).
Uruchom następujące polecenie w oknie wiersza polecenia, aby dodać swoje źródło danych do pliku nuget.config.
nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>Jeśli twoja organizacja jest połączona z Microsoft Entra ID, najpierw uwierzytelnij się przy użyciu poświadczeń Microsoft Entra, a następnie dodaj osobisty token dostępu przy użyciu
setapikeypolecenia :nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <AZURE_ACTIVE_DIRECTORY_USERNAME> -password <AZURE_ACTIVE_DIRECTORY_PASSWORD> nuget setapikey <YOUR_PERSONAL_ACCESS_TOKEN> -source <SOURCE_URL>
Uwierzytelnij się przy użyciu nazw głównych usług
Użyj uwierzytelniania za pomocą nazwy głównej usługi na potrzeby scenariuszy automatyzacji, gdy interakcyjne logowanie nie jest odpowiednie. Aby uwierzytelnić się w źródle danych Azure Artifacts przy użyciu nazwy głównej usługi, ustaw zmienną środowiskową ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS, jak pokazano w poniższych przykładach.
Zmienna określa adres URL źródła danych, identyfikator aplikacji głównej usługi (klienta) oraz nazwę podmiotu certyfikatu lub ścieżkę pliku certyfikatu. Potrzebujesz tylko jednej z wartości certyfikatu.
$env:ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS = @'{
"endpointCredentials": [
{
"endpoint": "<FEED_URL>",
"clientId": "<SERVICE_PRINCIPAL_APPLICATION_(CLIENT)_ID>",
"clientCertificateSubjectName": "<SERVICE_PRINCIPAL_CERTIFICATE_NAME>",
"clientCertificateFilePath": "<SERVICE_PRINCIPAL_CERTIFICATE_PATH>"
}
]
}
'@