Zapewnienie zgodności projektu z interfejsem wiersza polecenia dla deweloperów platformy Azure
Interfejs wiersza polecenia dla deweloperów platformy Azure (azd
) umożliwia deweloperom tworzenie szkieletu aplikacji dla chmury przy użyciu szablonów hostowanych w usłudze GitHub. Firma Microsoft udostępnia kilka szablonów , które ułatwiają rozpoczęcie pracy. Z tego artykułu dowiesz się, jak utworzyć własną aplikację azd
zgodną.
Omówienie architektury szablonu
Poniższy diagram zawiera krótkie omówienie procesu tworzenia azd
szablonu:
Wszystkie azd
szablony mają tę samą strukturę plików na azd
podstawie konwencji. W poniższej hierarchii przedstawiono strukturę katalogów, którą utworzysz w tym samouczku.
├── .azdo [ Configures an Azure Pipeline ]
├── .devcontainer [ For DevContainer ]
├── .github [ Configures a GitHub workflow ]
├── .vscode [ VS Code workspace configurations ]
├── .azure [ Stores Azure configurations and environment variables ]
├── infra [ Contains infrastructure as code files ]
│ ├── main.bicep/main.tf [ Main infrastructure file ]
│ ├── main.parameters.json/main.tfvars.json [ Parameters file ]
│ └── core/modules [ Contains reusable Bicep/Terraform modules ]
└── azure.yaml [ Describes the app and type of Azure resources]
Inicjowanie szablonu
Polecenie azd init
służy do inicjowania aplikacji do aprowizowania i wdrażania zasobów aplikacji na platformie Azure. To polecenie wyświetla monit o wybranie między dwoma różnymi przepływami pracy w celu zainicjowania szablonu opisanego w poniższych sekcjach.
Użyj kodu w bieżącym katalogu: wybierz tę opcję, aby poinstruować
azd
, aby przeanalizować kod w katalogu pod kątem tożsamości używanych technologii, takich jak język programowania, struktura i system bazy danych.azd
Następnie automatycznie wygeneruje zasoby szablonu, takie jakazure.yaml
plik definicji usługi iinfra
folder z plikami infrastruktury jako kodu.Wybierz szablon: wybierz tę opcję, aby użyć istniejącego szablonu jako punktu początkowego. Domyślnie
azd
umożliwia przeglądanie szablonów z galerii Awesome AZD , ale można również skonfigurować własne galerie szablonów. Po wybraniu szablonu zasoby tego szablonu zostaną dodane do istniejącego katalogu projektu.
Szczegóły każdego z tych przepływów pracy zostały opisane w poniższych sekcjach.
Możesz wykonać kroki opisane wcześniej przy użyciu własnego projektu. Jeśli jednak wolisz użyć przykładowej aplikacji, sklonuj następujące repozytorium początkowe do pustego katalogu na komputerze:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Otwórz wybrane narzędzie wiersza polecenia do katalogu głównego projektu.
Uruchom polecenie ,
azd init
aby zainicjować szablon.azd init
Po wyświetleniu monitu wybierz opcję Użyj kodu w bieżącym katalogu.
azd
analizuje projekt i zawiera podsumowanie wykrytych usług i zalecanych zasobów hostingu platformy Azure.Wybierz pozycję Potwierdź i kontynuuj inicjowanie mojej aplikacji.
azd
generuje następujące zasoby w katalogu głównym projektu:- Plik
azure.yaml
z odpowiednimi definicjami usługi. - Folder
infra
z plikami infrastruktury jako kodu w celu aprowizowania i wdrażania projektu na platformie Azure. .azure
Folder ze zmiennymi środowiskowymi ustawionymi w.env
pliku.
Więcej informacji na temat tego procesu wykrywania i generowania znajduje się w dalszej części artykułu.
- Plik
Wygenerowane pliki działają zgodnie z podanymi przykładowymi aplikacjami i mogą również korzystać z własnych aplikacji. W razie potrzeby wygenerowane pliki można modyfikować zgodnie z potrzebami. Na przykład może być konieczne dalsze zmodyfikowanie plików infrastruktury jako kodu w
infra
folderze, jeśli aplikacja korzysta z zasobów platformy Azure poza tymi, które zostały zidentyfikowane przezazd
program .Uruchom polecenie ,
azd up
aby aprowizować i wdrożyć aplikację na platformie Azure.azd up
Po wyświetleniu monitu wybierz żądaną subskrypcję i lokalizację, aby rozpocząć proces aprowizacji i wdrażania.
Po zakończeniu procesu kliknij link w
azd
danych wyjściowych, aby otworzyć aplikację w przeglądarce.
Eksplorowanie kroków inicjowania
Po wybraniu przepływu pracy azd init
Użyj kodu w bieżącym katalogu polecenie analizuje projekt i automatycznie ocenia kod na podstawie tego, co odnajduje. W poniższych sekcjach opisano szczegóły działania tego procesu i które technologie są obecnie obsługiwane.
Detection
Polecenie azd init
wykrywa pliki projektu dla obsługiwanych języków znajdujących się w katalogu projektu i podkatalogach. azd
Skanuje również zależności pakietów w celu zbierania informacji o strukturach internetowych lub bazach danych używanych przez aplikację. W razie potrzeby możesz ręcznie dodać lub edytować wykryte składniki, jak pokazano w wierszu polecenia podsumowania potwierdzenia.
Bieżąca logika wykrywania jest następująca:
- Obsługiwane języki:
- Python
- JavaScript/TypeScript
- .NET
- Java
- Obsługiwane bazy danych:
- MongoDB
- PostgreSQL
- W przypadku języków Python i JavaScript/TypeScript platformy internetowe i bazy danych są automatycznie wykrywane.
- Gdy projekt JavaScript/TypeScript używa platformy internetowej frontonu (lub po stronie klienta), jest klasyfikowany jako usługa frontonu. Jeśli usługa korzysta z platformy internetowej frontonu, która jest obecnie niewykryta, możesz wybrać opcję JQuery, aby zapewnić równoważną klasyfikację i zachowanie usługi frontonu.
Generowanie
Po potwierdzeniu wykrytych składników azd init
program generuje pliki infrastruktury jako kodu potrzebne do wdrożenia aplikacji na platformie Azure.
Logika generowania jest następująca:
- Obsługiwane hosty:
- Azure Container Apps.
- W przypadku baz danych obsługiwane mapowanie technologii bazy danych i używanej usługi:
- MongoDB: interfejs API usługi Azure CosmosDB dla bazy danych MongoDB
- PostgreSQL: elastyczny serwer usługi Azure Database for PostgreSQL
- Redis: dodatek Azure Container Apps Redis
- Usługi korzystające z baz danych będą miały zmienne środowiskowe, które domyślnie zapewniają połączenie z bazą danych wstępnie skonfigurowaną.
- Po wykryciu zarówno usług frontonu, jak i zaplecza konfiguracja mechanizmu CORS na hoście platformy Azure dla usług zaplecza zostanie zaktualizowana w celu umożliwienia domyślnej domeny hostingu usług frontonu. Można to zmodyfikować lub usunąć w razie potrzeby w infrastrukturze jako plikach konfiguracji kodu.
Dodawanie obsługi kontenerów deweloperskich
Możesz również ustawić szablon zgodny z kontenerami programistycznymi i usługami Codespaces. Kontener deweloperski umożliwia używanie kontenera jako w pełni funkcjonalnego środowiska deweloperskiego. Może służyć do uruchamiania aplikacji, do oddzielania narzędzi, bibliotek lub środowisk uruchomieniowych potrzebnych do pracy z bazą kodu oraz do pomocy w ciągłej integracji i testowaniu. Kontenery deweloperskie można uruchamiać lokalnie lub zdalnie w chmurze prywatnej lub publicznej. (Źródło: https://containers.dev/)
Aby dodać obsługę kontenerów deweloperskich:
Utwórz folder .devcontainer w katalogu głównym projektu.
devcontainer.json
Utwórz plik w folderze.devcontainer
z żądanymi konfiguracjami. Szablonazd
startowy zawiera przykładowydevcontainer.json
plik, który można skopiować do projektu i zmodyfikować zgodnie z potrzebami.
Przeczytaj więcej na temat pracy z kontenerami deweloperskimi w dokumentacji programu Visual Studio Code.
Dodawanie obsługi potoku ciągłej integracji/ciągłego wdrażania
Możesz również dodać obsługę ciągłej integracji/ciągłego wdrażania w szablonie przy użyciu akcji GitHub lub usługi Azure DevOps, wykonując następujące kroki:
.github
Dodaj folder dla funkcji GitHub Actions lub.ado
folder dla usługi Azure DevOps do katalogu głównego projektu.Dodaj plik przepływu pracy do nowego folderu. Szablon
azd
startowy zawiera przykładowy plik przepływu pracy funkcji GitHub Actions i przykładowe pliki usługi Azure DevOps Pipelines dla każdej platformy, którą można skopiować do projektu i zmodyfikować zgodnie z potrzebami.Może być również konieczne zaktualizowanie
main.parameters.json
pliku winfra
folderze przy użyciu wymaganych zmiennych środowiskowych do uruchomienia przepływu pracy.
Konfigurowanie potoku ciągłej integracji/ciągłego wdrażania
Jeśli szablon zawiera obsługę funkcji GitHub Actions lub Azure Pipelines, możesz skonfigurować potok ciągłej integracji/ciągłego wdrażania, wykonując następujące kroki:
Uruchom następujące polecenie, aby wypchnąć aktualizacje do repozytorium. Przepływ pracy funkcji GitHub Actions jest wyzwalany z powodu aktualizacji.
azd pipeline config
Korzystając z przeglądarki, przejdź do repozytorium GitHub dla projektu.
Wybierz pozycję Akcje , aby wyświetlić uruchomiony przepływ pracy.
Czyszczenie zasobów
Jeśli nie potrzebujesz już zasobów utworzonych w tym artykule, uruchom następujące polecenie:
azd down
Zobacz też
- Utwórz pliki Bicep za pomocą programu Visual Studio Code , aby zapoznać się z wprowadzeniem do pracy z plikami Bicep.
- Przykłady Bicep
- Jak dekompilować szablony usługi Azure Resource Manager (szablony usługi ARM) do aplikacji Bicep
- Schemat azure.yaml interfejsu wiersza polecenia platformy Azure
Zażądaj pomocy
Aby uzyskać informacje na temat tworzenia usterki, żądania pomocy lub zaproponowania nowej funkcji dla interfejsu wiersza polecenia dla deweloperów platformy Azure, odwiedź stronę rozwiązywania problemów i pomocy technicznej .
Następne kroki
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla