Samouczek: wdrażanie projektu .NET Aspire przy użyciu Azure Developer CLI
Azure Developer CLI (azd
) umożliwia wdrażanie projektów .NET Aspire przy użyciu GitHub Actions lub potoków Azure DevOps, poprzez automatyczną konfigurację wymaganych ustawień uwierzytelniania i środowiska. W tym artykule opisano proces tworzenia i wdrażania projektu .NET Aspire w Azure Container Apps przy użyciu azd
. Poznasz następujące pojęcia:
- Dowiedz się, jak działa integracja
azd
z projektami .NET.NET Aspire - Tworzenie i konfigurowanie repozytorium GitHub lub Azure DevOps dla projektu .NET Aspire przy użyciu
azd
- Monitorowanie i eksplorowanie przepływu pracy GitHub Actions lub wykonywania potoku Azure DevOps lub wdrożeń Azure
Warunki wstępne
Aby pracować z .NET.NET Aspire, musisz mieć zainstalowane lokalnie następujące elementy:
- .NET 8.0 lub .NET 9.0
- Środowisko uruchomieniowe kontenera zgodne ze standardem OCI, takie jak:
- Docker Desktop lub Podman. Aby uzyskać więcej informacji, zobacz Container Runtime.
- Zintegrowane środowisko deweloperskie (IDE) lub edytor kodu, takie jak:
- Visual Studio 2022 w wersji 17.9 lub nowszej (opcjonalnie)
-
Visual Studio Code (opcjonalnie)
- C# Dev Kit: Rozszerzenie (opcjonalnie)
- JetBrains Rider z wtyczką .NET.NET Aspire (opcjonalnie)
Aby uzyskać więcej informacji, zobacz .NET.NET Aspire setup and toolingi .NET.NET Aspire SDK.
- Azure organizację DevOps lub wybierz istniejącą organizację
-
Utwórz Azure osobisty token dostępu DevOps (PAT) i zapisz go do późniejszego użycia. Skonfiguruj token z następującymi uprawnieniami:
- Pule agentów (odczyt, zarządzanie)
- Kompilacja (odczyt i wykonanie)
- Kod (pełny)
- Projekt i zespół (odczyt, zapis i zarządzanie)
- Wydanie (odczyt, zapis, wykonywanie i zarządzanie)
- Połączenia usług (odczyt, wykonywanie zapytań i zarządzanie)
Musisz również zainstalować Azure Developer CLIlokalnie (wersja 1.5.1 lub nowsza). Typowe opcje instalacji obejmują następujące elementy:
Utwórz rozwiązanie .NET.NET Aspire
W tym artykule przyjęto założenie, że utworzono rozwiązanie .NET.NET Aspire na podstawie szablonu .NET.NET Aspire Starter Application. Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie pierwszej aplikacji .NET.NET Aspire.
Inicjowanie szablonu
Otwórz nowe okno terminalu i
cd
w katalogu rozwiązania .NET.NET Aspire.Wykonaj polecenie
azd init
, aby zainicjować projekt przy użyciuazd
, co spowoduje sprawdzenie struktury katalogów lokalnych i określenie typu aplikacji.azd init
Aby uzyskać więcej informacji na temat polecenia
azd init
, zobacz azd init.Wybierz pozycję Użyj kodu w bieżącym katalogu, gdy
azd
wyświetli monit o dwie opcje inicjowania aplikacji.? How do you want to initialize your app? [Use arrows to move, type to filter] > Use code in the current directory Select a template
Po zeskanowaniu katalogu
azd
zostanie wyświetlony monit o potwierdzenie, że został znaleziony prawidłowy projekt .NET.NET AspireAppHost. Wybierz opcję Potwierdź i kontynuuj inicjowanie mojej aplikacji.Detected services: .NET (Aspire) Detected in: D:\source\repos\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj azd will generate the files necessary to host your app on Azure using Azure Container Apps. ? Select an option [Use arrows to move, type to filter] > Confirm and continue initializing my app Cancel and exit
Wprowadź nazwę środowiska, która będzie używana do nazywania aprowizowanych zasobów w Azure oraz zarządzania różnymi środowiskami, takimi jak
dev
iprod
.Generating files to run your app on Azure: (✓) Done: Generating ./azure.yaml (✓) Done: Generating ./next-steps.md SUCCESS: Your app is ready for the cloud! You can provision and deploy your app to Azure by running the azd up command in this directory. For more information on configuring your app, see ./next-steps.md
azd
generuje wiele plików i umieszcza je w katalogu roboczym. Są to następujące pliki:
- azure.yaml: opisuje usługi aplikacji, takie jak projekt .NET Aspire AppHost, i mapuje je na zasoby Azure.
-
.azure/config.json: plik konfiguracyjny informujący
azd
, jakie jest bieżące aktywne środowisko. - .azure/aspireazddev/.env: zawiera przesłonięcia specyficzne dla środowiska.
Utwórz repozytorium GitHub i potok
Azure Developer CLI umożliwia automatyczne tworzenie potoków CI/CD z prawidłowymi konfiguracjami i uprawnieniami, aby aprowizować i wdrażać zasoby do Azure.
azd
również można utworzyć repozytorium GitHub dla Twojej aplikacji, jeśli jeszcze nie istnieje.
Uruchom polecenie
azd pipeline config
, aby skonfigurować potok wdrażania i bezpiecznie połączyć go z Azure:azd pipeline config
Wybierz subskrypcję, w ramach której chcesz aprowizować i wdrożyć zasoby aplikacji.
Wybierz lokalizację Azure, która ma być używana dla zasobów.
Gdy zostanie wyświetlony monit o utworzenie nowego repozytorium Git w katalogu, wprowadź y i naciśnij Enter.
Notatka
Utworzenie repozytorium GitHub wymaga zalogowania się do GitHub. Istnieje kilka opcji, które różnią się w zależności od preferencji. Po zalogowaniu zostanie wyświetlony monit o utworzenie nowego repozytorium w bieżącym katalogu.
Wybierz pozycję Utwórz nowe prywatne repozytorium GitHub, aby skonfigurować zdalne repozytorium git.
Wprowadź wybraną nazwę nowego repozytorium GitHub lub naciśnij Enter, aby użyć nazwy domyślnej.
azd
tworzy nowe repozytorium w GitHub i konfiguruje je z niezbędnymi tajnymi danymi wymaganymi do uwierzytelnienia w Azure.Wprowadź y, aby kontynuować, gdy
azd
monituje o zatwierdzenie i wypchnięcie lokalnych zmian w celu uruchomienia skonfigurowanego potoku.
Eksploruj przepływ pracy i wdrażanie Actions GitHub
Przejdź do nowego repozytorium GitHub, korzystając z linku, który został wyświetlony przez
azd
.Wybierz kartę Akcje, aby wyświetlić przepływy pracy repozytorium. Powinieneś zobaczyć nowy przepływ pracy albo uruchomiony, albo już ukończony. Wybierz przepływ pracy, aby wyświetlić kroki zadania i szczegóły w dziennikach przebiegu. Możesz na przykład rozwinąć kroki, takie jak Instalowanie obciążenia .NET.NET Aspire lub Wdrażanie aplikacji, aby wyświetlić szczegóły ukończonej akcji.
Wybierz pozycję Wdróż aplikację, aby rozwinąć dzienniki dla tego kroku. Powinny być wydrukowane dwa adresy URL punktów końcowych dla
apiservice
iwebfrontend
. Wybierz jeden z tych linków, aby otworzyć go na innej karcie przeglądarki i zapoznać się z wdrożoną aplikacją.
Gratulacje! Projekt .NET Aspire został pomyślnie wdrożony przy użyciu działań Azure Developer CLI i GitHub.
Utwórz repozytorium i potok Azure DevOps
Ważny
Jak wspomniano w wymaganiach wstępnych, musisz utworzyć organizację usługi Azure DevOps lub wybrać istniejącą organizację, aby wykonać następujące kroki. Należy również utworzyć osobisty token dostępu (PAT) z uprawnieniami wymienionymi w wymaganiach wstępnych.
Azure Developer CLI umożliwia automatyczne tworzenie potoków przy użyciu prawidłowych konfiguracji i uprawnień do aprowizowania i wdrażania zasobów w Azure.
azd
można również utworzyć repozytorium Azure Pipelines dla aplikacji, jeśli jeszcze nie istnieje.
Uruchom polecenie
azd pipeline config
, aby skonfigurować potok wdrażania i bezpiecznie połączyć go z Azure. Uwzględnij opcję--provider azdo
, aby użyć Azure Pipelines zamiast domyślnej konfiguracji GitHub Actions.azd pipeline config --provider azdo
Wybierz subskrypcję, w ramach której chcesz aprowizować i wdrożyć zasoby aplikacji.
Wybierz lokalizację Azure, która ma być używana dla zasobów.
Wklej utworzony wcześniej osobisty token dostępu.
Wprowadź nazwę organizacji Azure DevOps utworzoną lub wybraną.
Po wyświetleniu monitu o utworzenie nowego repozytorium w bieżącym katalogu wprowadź i i naciśnij Enter.
Po wyświetleniu monitu o skonfigurowanie zdalnego repozytorium Git wybierz pozycję Utwórz nowy projekt Azure DevOps.
Wprowadź unikatową nazwę nowego repozytorium, na przykład
aspireazd
.azd
tworzy nowe repozytorium w usłudze Azure Repos i konfiguruje je z użyciem niezbędnych tajnych danych wymaganych do uwierzytelniania z Azure.Wprowadź y, aby kontynuować, gdy
azd
monituje o zatwierdzenie i wypchnięcie lokalnych zmian w celu uruchomienia skonfigurowanego potoku.
Zbadaj potok danych i aplikację
Przejdź do nowego pipeline'u Azure, korzystając z linku statusu dostarczonego przez
azd
.Wybierz ukończone uruchomienie potoku, aby wyświetlić podsumowanie.
Wybierz link zadania w dolnej części widoku, aby przejść do szczegółów zadania.
Na stronie szczegółów zadania jest wyświetlany stan wszystkich poszczególnych etapów. Wybierz pozycję Aprowizacja infrastruktury, aby wyświetlić dzienniki dla tego etapu, które szczegółowo opisują wszystkie kroki aprowizacji wykonane przez
azd
. W dolnej części dzienników zanotuj końcowy komunikat o stanie i połącz się z aprowizowaną grupą zasobów Azure.Wybierz link na dole dzienników wyników aprowizacji, aby nawigować do nowej grupy zasobów Azure.
Notatka
Możesz również przejść bezpośrednio do nowej grupy zasobów, wyszukując ją w portalu Azure. Nazwa grupy zasobów będzie nazwą środowiska, którą podałeś do
azd
z prefiksemrg-
.Wybierz kontenerową aplikację webfrontend, która hostuje część witryny dostępną publicznie.
Na stronie szczegółów webfrontend wybierz link Application Url, aby otworzyć swoją witrynę w przeglądarce.
Ważny
Jeśli podczas wyświetlania witryny w przeglądarce wystąpi błąd 403 Forbidden
, upewnij się, że ustawienia ruchu przychodzącego są poprawnie skonfigurowane. Na stronie aplikacji w portalu Azure przejdź do Ingress w lewym panelu nawigacyjnym. Upewnij się, że ruch przychodzący jest ustawiony na Akceptowanie ruchu z dowolnego miejsca i zapisz zmiany.
Gratulacje! Pomyślnie wdrożono projekt .NET Aspire przy użyciu pipeline'ów Azure Developer CLI i Azure.
Czyszczenie zasobów
Uruchom następujące polecenie interfejsu wiersza polecenia Azure, aby usunąć grupę zasobów, gdy nie potrzebujesz już utworzonych zasobów Azure. Usunięcie grupy zasobów powoduje również usunięcie zawartych w niej zasobów.
az group delete --name <your-resource-group-name>
Aby dowiedzieć się więcej, zobacz Czyszczenie zasobów w Azure.