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:

Diagram of Azure Developer CLI template workflow.

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 jak azure.yaml plik definicji usługi i infra 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.

  1. 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
    
  2. Otwórz wybrane narzędzie wiersza polecenia do katalogu głównego projektu.

  3. Uruchom polecenie , azd init aby zainicjować szablon.

    azd init
    
  4. 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.

  5. 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.

  6. 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 przez azdprogram .

  7. Uruchom polecenie , azd up aby aprowizować i wdrożyć aplikację na platformie Azure.

    azd up
    
  8. Po wyświetleniu monitu wybierz żądaną subskrypcję i lokalizację, aby rozpocząć proces aprowizacji i wdrażania.

  9. 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:

  1. Utwórz folder .devcontainer w katalogu głównym projektu.

  2. devcontainer.json Utwórz plik w folderze .devcontainer z żądanymi konfiguracjami. Szablon azd startowy zawiera przykładowy devcontainer.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:

  1. .github Dodaj folder dla funkcji GitHub Actions lub .ado folder dla usługi Azure DevOps do katalogu głównego projektu.

  2. 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.

  3. Może być również konieczne zaktualizowanie main.parameters.json pliku w infra 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:

  1. Uruchom następujące polecenie, aby wypchnąć aktualizacje do repozytorium. Przepływ pracy funkcji GitHub Actions jest wyzwalany z powodu aktualizacji.

    azd pipeline config    
    
  2. Korzystając z przeglądarki, przejdź do repozytorium GitHub dla projektu.

  3. 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ż

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