Добавление поддержки Интерфейса командной строки разработчика Azure в приложение с помощью существующего шаблона
Интерфейс командной строки разработчика Azure (azd
) предоставляет два разных рабочих процесса для инициализации шаблона для использования с приложением, в том числе:
- Используйте код в текущем каталоге: этот подход анализирует приложение и автоматически создает поддерживаемые ресурсы инфраструктуры и конфигурации.
- Выберите шаблон: этот подход позволяет интегрировать существующий шаблон с приложением или использовать существующий шаблон в качестве отправной точки для нового приложения.
Оба этих подхода рассматриваются в документации по созданию шаблонов командной строки разработчика Azure.
В этой статье вы узнаете, как добавить поддержку интерфейса командной строки разработчика Azure (azd
) в приложение с помощью подхода "Выбор шаблона ". Дополнительные сведения об альтернативном подходе см. в статье "Добавление azd
поддержки в приложение" с помощью существующего документа шаблона . Вы также можете посетить учебный курс — создание и развертывание azd
шаблонов для получения дополнительных сведений о создании azd
шаблонов.
Выберите шаблон приложения
Рабочий процесс azd init
выбора шаблона команды позволяет выбрать существующий azd
шаблон для использования в качестве отправной точки. Содержимое выбранного шаблона добавляется в корневой каталог проекта. Большинство шаблонов предоставляют необходимый набор файлов и папок, а многие включают полный набор azd
файлов инфраструктуры как кода для подготовки ресурсов Azure для выбранного стека приложений.
В этом примере вы будете использовать шаблон Starter — Bicep , который включает в себя основную структуру azd
шаблона и некоторые полезные стандартные коды для начала работы. Начальные шаблоны — отличный выбор, если вы хотите создать правильные структуры шаблонов и начальные ресурсы, но по-прежнему создавать собственные файлы инфраструктуры.
Чтобы выполнить дальнейшие действия с использованием существующего примера приложения, клонируйте следующий начальный проект в пустой каталог на компьютере:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
В выбранном средстве командной строки перейдите к корневому каталогу клонированного проекта.
azd init
Выполните команду, чтобы инициализироватьazd
шаблон.azd init
При появлении запроса выберите параметр "Выбрать шаблон".
В списке шаблонов выберите Starter — Bicep. Вы можете ввести имя шаблона или использовать клавиши со стрелками клавиатуры, чтобы найти его.
При появлении запроса введите короткое имя среды, например testenv.
После запуска
azd init
в текущий каталог добавляются следующие ресурсы:├── .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]
Обновление файлов Bicep
Теперь проект содержит основную структуру и ресурсы azd
шаблона. Однако для подготовки ресурсов Azure для конкретного проекта необходимо обновить файлы Bicep в папке infra
. Чтобы разместить пример приложения, необходимо определить следующие ресурсы с помощью файлов Bicep:
- План обслуживания приложение Azure
- Служба приложение Azure, запущенная в Linux
Откройте корневой каталог проекта в выбранном редакторе, например Visual Studio Code.
main.bicep
Откройте файл в папкеinfra
с помощью редактора. Этот файл содержит полезный код для настройки важных переменных, параметров и соглашений об именовании. Под блоком комментариев около строки 50, которая считываетAdd resources to be provisioned below
, добавьте следующий 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' } } }
Примечание.
- Уникальная строка создается на основе идентификатора подписки и используется в качестве переменной
${resourceToken}
. Этот маркер добавляется к имени всех ресурсов Azure, созданныхazd
. azd
использует теги для идентификации ресурсов, чтобы можно было изменить имена на основе соглашения об именовании вашей организации.- Тег
'azd-service-name': 'web'
службы приложений — это значениеazd
, которое используется для идентификации узла развертывания. Значение должно совпадать с тем, что определено для службы в файле azure.yaml .
- Уникальная строка создается на основе идентификатора подписки и используется в качестве переменной
Обновление файла azure.yaml
Чтобы развернуть приложение, azd
необходимо узнать больше о приложении. Файл azure.yaml
используется для определения расположения исходного кода, языка и службы размещения Azure для каждой службы в приложении. Полные сведения см. в схеме azure.yaml.
azure.yaml
Откройте корень проекта.Добавьте следующие строки в нижней части файла:
name: msdocs-python-flask-webapp-quickstart services: web: project: . language: py host: appservice
Подготовка и развертывание шаблона
Сохраните все изменения и выполните следующую команду, чтобы подготовить и развернуть ресурсы приложения в Azure:
azd up
По завершении команды щелкните ссылку в выходных данных команды, чтобы перейти на развернутый сайт.
Теперь проект совместим с Интерфейсом командной строки разработчика Azure и может использоваться в качестве шаблона.
Примечание.
azd
также поддерживает использование Buildpack для контейнеризации приложений по умолчанию. Если шаблон azd
предназначен для приложений контейнеров Azure или Служба Azure Kubernetes, но не содержит файл Docker, azd
автоматически создает образ с помощью Buildpack.