Dodawanie obsługi interfejsu wiersza polecenia dla deweloperów platformy Azure do aplikacji przy użyciu istniejącego szablonu
Interfejs wiersza polecenia dla deweloperów platformy Azure (azd
) udostępnia dwa różne przepływy pracy umożliwiające zainicjowanie szablonu do użycia z aplikacją, w tym:
- Użyj kodu w bieżącym katalogu: to podejście analizuje aplikację i automatycznie ocenia obsługiwaną infrastrukturę i zasoby konfiguracji.
- Wybierz szablon: to podejście umożliwia zintegrowanie istniejącego szablonu z aplikacją lub użycie istniejącego szablonu jako punktu wyjścia dla nowej aplikacji.
Oba te podejścia są eksplorowane w przeglądu przeglądu szablonów interfejsu wiersza polecenia platformy Azure.
Z tego artykułu dowiesz się, jak dodać obsługę interfejsu wiersza polecenia dla deweloperów platformy Azure (azd
) do aplikacji za pomocą podejścia Wybierz szablon . Aby uzyskać więcej informacji na temat alternatywnego podejścia, odwiedź stronę Dodawanie azd
obsługi do aplikacji przy użyciu istniejącego dokumentu szablonu. Więcej informacji na temat tworzenia azd
szablonów można również znaleźć w sekcji Trenowanie — kompilowanie i wdrażanie azd
szablonów.
Wybieranie szablonu dla aplikacji
Przepływ pracy Wybierz szablon polecenia azd init
umożliwia wybranie istniejącego azd
szablonu do użycia jako punktu początkowego. Zawartość wybranego szablonu jest dodawana do katalogu głównego projektu. Większość szablonów udostępnia wymagany zestaw azd
plików i folderów, a wiele z nich zawiera kompletny zestaw plików infrastruktury jako kodu w celu aprowizowania zasobów platformy Azure dla wybranego stosu aplikacji.
W tym przykładzie użyjesz szablonu Starter — Bicep , który zawiera podstawową strukturę azd
szablonu i przydatny standardowy kod, aby rozpocząć pracę. Szablony początkowe są doskonałym wyborem, gdy chcesz utworzyć szkielet odpowiedniej struktury szablonu i zasobów początkowych, ale nadal tworzyć własne pliki infrastruktury.
Aby wykonać kroki opisane przed wykonaniem kroków przy użyciu istniejącej przykładowej aplikacji, sklonuj następujący projekt startowy do pustego katalogu na komputerze:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
W wybranym narzędziu wiersza polecenia przejdź do katalogu głównego sklonowanego projektu.
Uruchom polecenie ,
azd init
aby zainicjowaćazd
szablon.azd init
Po wyświetleniu monitu wybierz opcję Wybierz szablon.
Z listy szablonów wybierz pozycję Starter — Bicep. Możesz wpisać nazwę szablonu lub użyć strzałek klawiatury, aby go znaleźć.
Po wyświetleniu monitu wprowadź krótką nazwę środowiska, na przykład testenv.
Po uruchomieniu polecenia
azd init
następujące zasoby zostaną dodane do bieżącego katalogu:├── .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]
Aktualizowanie plików Bicep
Projekt zawiera teraz podstawową strukturę i zasoby szablonu azd
. Jednak aby aprowizować zasoby platformy Azure dla określonego projektu, należy zaktualizować pliki Bicep w folderze infra
. Aby hostować przykładową aplikację, należy zdefiniować następujące zasoby przy użyciu plików Bicep:
- Plan usługi aplikacja systemu Azure
- Usługa aplikacja systemu Azure uruchomiona w systemie Linux
Otwórz katalog projektu głównego w wybranym edytorze, na przykład Visual Studio Code.
main.bicep
Otwórz plik w folderzeinfra
przy użyciu edytora. Ten plik zawiera przydatny kod standardowy do konfigurowania podstawowych zmiennych, parametrów i konwencji nazewnictwa. Pod blokiem komentarza wokół wiersza 50, który odczytujeAdd resources to be provisioned below
, dodaj następujący kod Bicep:// Creates an app service instance to host the app module web './core/host/appservice.bicep' = { name: 'web' scope: rg params: { name: '${abbrs.webSitesAppService}web-${resourceToken}' location: location tags: union(tags, { 'azd-service-name': 'web' }) appServicePlanId: appServicePlan.outputs.id runtimeName: 'python' runtimeVersion: '3.8' scmDoBuildDuringDeployment: true } } // Create an App Service Plan to group applications under the same payment plan and SKU module appServicePlan './core/host/appserviceplan.bicep' = { name: 'appserviceplan' scope: rg params: { name: '${abbrs.webServerFarms}${resourceToken}' location: location tags: tags sku: { name: 'B1' } } }
Uwaga
- Unikatowy ciąg jest generowany na podstawie identyfikatora subskrypcji i używany jako zmienna
${resourceToken}
. Ten token jest dołączany do nazwy wszystkich zasobów platformy Azure utworzonych przezazd
program . azd
używa tagów do identyfikowania zasobów, aby można było modyfikować nazwy na podstawie konwencji nazewnictwa organizacji.- Tag
'azd-service-name': 'web'
w usłudze app Service jest wartościąazd
używaną do identyfikowania hosta wdrożenia. Wartość musi być taka sama jak wartość zdefiniowana dla usługi w pliku azure.yaml .
- Unikatowy ciąg jest generowany na podstawie identyfikatora subskrypcji i używany jako zmienna
Aktualizowanie pliku azure.yaml
Aby wdrożyć aplikację, azd
należy dowiedzieć się więcej o aplikacji. Plik azure.yaml
służy do definiowania lokalizacji kodu źródłowego, języka i usługi hostingu platformy Azure dla każdej usługi w aplikacji. Aby uzyskać szczegółowe informacje, zapoznaj się ze schematem azure.yaml.
Otwórz folder
azure.yaml
w katalogu głównym projektu.Dodaj następujące wiersze w dolnej części pliku:
name: msdocs-python-flask-webapp-quickstart services: web: project: . language: py host: appservice
Aprowizuj i wdróż szablon
Zapisz wszystkie zmiany i uruchom następujące polecenie, aby aprowizować i wdrażać zasoby aplikacji na platformie Azure:
azd up
Po zakończeniu polecenia kliknij link w danych wyjściowych polecenia, aby przejść do wdrożonej lokacji.
Projekt jest teraz zgodny z interfejsem wiersza polecenia dla deweloperów platformy Azure i może być używany jako szablon.
Uwaga
azd
Obsługuje również używanie pakietu Buildpack domyślnie konteneryzowania aplikacji. azd
Jeśli szablon jest przeznaczony dla usługi Azure Container Apps lub Azure Kubernetes Service, ale nie zawiera pliku platformy Docker, azd
automatycznie generuje obraz przy użyciu pakietu Buildpack.