Przywracanie pakietów NuGet za pomocą usługi Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Za pomocą funkcji przywracania pakietów NuGet można zainstalować całą zależność projektu bez konieczności przechowywania ich w kontroli źródła. Pozwala to na czystsze środowisko programistyczne i mniejszy rozmiar repozytorium. Pakiety NuGet można przywrócić przy użyciu zadania przywracania NuGet, interfejsu wiersza polecenia NuGet lub interfejsu wiersza polecenia platformy .NET Core. W tym artykule pokazano, jak przywrócić pakiety NuGet przy użyciu potoków klasycznych i YAML.
Wymagania wstępne
- Organizacja: Azure DevOps. Utwórz organizację, jeśli jeszcze jej nie masz.
- Projekt usługi Azure DevOps. Jeśli jeszcze go nie masz, możesz utworzyć nowy projekt.
- Źródło danych usługi Azure Artifacts. Utwórz nowe źródło danych , jeśli jeszcze go nie masz.
- Połączenie do źródła danych usługi Azure Artifacts: NuGet.exe, dotnet.
- Skonfiguruj uprawnienia potoku.
Przywracanie pakietów NuGet z kanału informacyjnego
Przejdź do klasycznej definicji potoku, a następnie wybierz pozycję Edytuj.
Wybierz, + aby dodać nowe zadanie. Wyszukaj ciąg NuGet, a następnie wybierz pozycję Dodaj , aby dodać zadanie do potoku.
Nadaj swojemu zadaniu nazwę i wybierz pozycję Przywróć w poleceniu.
Wybierz pozycję Kanały informacyjne, które wybieram tutaj, a następnie wybierz źródło danych z menu rozwijanego. Jeśli chcesz użyć własnego pliku konfiguracji, wybierz pozycję Źródła danych w pliku NuGet.config i wprowadź ścieżkę do pliku NuGet.config i połączenia z usługą, jeśli chcesz uwierzytelnić się przy użyciu źródeł danych spoza organizacji.
Jeśli chcesz dołączyć pakiety z NuGet.org, zaznacz pole wyboru Użyj pakietów z NuGet.org .
Po zakończeniu wybierz pozycję Zapisz i kolejkę .
Uwaga
Klasyczne przywracanie NuGet używa zadania NuGetCommand@2 . Domyślnie ta wersja używa pakietu NuGet 4.1.0. Użyj zadania Instalator narzędzi NuGet, jeśli chcesz użyć innej wersji narzędzia NuGet.
Przywracanie pakietów NuGet lokalnie
Umieść plik nuget.config
w tym samym folderze co plik .csproj
lub .sln
. Plik konfiguracji powinien wyglądać podobnie do poniższego przykładu:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!-- remove inherited connection strings -->
<clear />
<!-- add an Azure Artifacts feed -->
<add key="FabrikamFiber" value="https://pkgs.dev.azure.com/microsoftLearnModule/_packaging/FabrikamFiber/nuget/v3/index.json" />
<!-- Get packages from NuGet.org -->
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
Aby przywrócić pakiety NuGet, uruchom następujące polecenie w katalogu projektu:
nuget.exe restore
Przywracanie pakietów NuGet ze źródła danych w innej organizacji
Aby przywrócić pakiety NuGet ze źródła danych w innej organizacji usługi Azure DevOps, musisz użyć osobistego tokenu dostępu do uwierzytelniania.
Tworzenie osobistego tokenu dostępu
Przejdź do organizacji usługi Azure DevOps, a następnie wybierz pozycję Ustawienia>użytkownika Osobiste tokeny dostępu.
Utwórz osobisty token dostępu z zakresem pakowania (odczyt) i skopiuj swój token dostępu do schowka.
Przywracanie pakietów NuGet
Przejdź do definicji potoku i wybierz zadanie przywracania NuGet. Upewnij się, że używasz wersji 2 zadania.
Wybierz pozycję Źródła danych i uwierzytelnianie, a następnie wybierz pozycję Źródła danych w pliku NuGet.config.
Wybierz ścieżkę pliku NuGet.config .
Wybierz pozycję Nowy , aby dodać poświadczenia dla źródeł danych spoza tej organizacji/kolekcji.
Wybierz pozycję Zewnętrzny serwer Usługi Azure DevOps, a następnie wprowadź adres URL kanału informacyjnego (upewnij się, że jest zgodny z elementami w pliku NuGet.config), nazwą połączenia usługi i utworzonym wcześniej osobistym tokenem dostępu. Wybierz Zapisz, gdy skończysz.
Po zakończeniu wybierz pozycję Zapisz i kolejkę .
Często zadawane pytania
Pyt.: Mój potok nie może przywrócić moich pakietów NuGet?
1: Zadanie przywracania NuGet może zakończyć się niepowodzeniem z kilku powodów. Najbardziej typowym scenariuszem jest dodanie nowego projektu wymagającego platformy docelowej, która nie jest obsługiwana przez wersję narzędzia NuGet używaną przez potok. Ten błąd generalnie nie występuje w lokalnym środowisku programistycznym, ponieważ program Visual Studio dba o właściwe aktualizowanie rozwiązania. Pamiętaj, aby uaktualnić zadanie narzędzia NuGet do najnowszej wersji.