Поддержка Интерфейса командной строки разработчика Azure для сред развертывания Azure
Интерфейс командной строки разработчика Azure (azd) предоставляет поддержку средам развертывания Azure. Среда развертывания Azure (ADE) — это предварительно настроенная коллекция ресурсов Azure, развернутых в предопределенных подписках. Управление Azure применяется к этим подпискам на основе типа среды, например песочницы, тестирования, промежуточного хранения или рабочей среды. В средах развертывания Azure вы можете применять корпоративные политики безопасности и предоставлять готовый набор шаблонов инфраструктуры в виде кода (IaC).
Необходимые условия
Убедитесь, что вы выполнили следующие предварительные требования для работы с средами развертывания Azure с помощью azd
:
установленные
azd
локально или доступ кazd
через Cloud ShellСоздано и настроено среды развертывания Azure с помощью центра разработки, проекта и каталога шаблонов
Настроенные типы сред на уровне центра разработки и уровня проекта
Убедитесь, что разработчик имеет роль "Пользователь сред развертывания" в проекте
Кончик
Основные понятия, о средах развертывания Azure, важны для работы с ними с помощью
azd
.
Включение поддержки среды развертывания Azure
Вы можете настроить azd
для подготовки и развертывания ресурсов в средах развертывания с помощью стандартных команд, таких как azd up
или azd provision
. Чтобы включить поддержку сред развертывания Azure, выполните следующую команду:
azd config set platform.type devcenter
Если platform.type
задано значение devcenter
, все azd
состояние удаленной среды и подготовка будут использовать новые компоненты центра разработки. Эта конфигурация также означает, что папка infra
в локальных шаблонах будет эффективно игнорироваться. Вместо этого azd
будет использовать один из шаблонов инфраструктуры, определенных в каталоге центра разработки для подготовки ресурсов.
Вы также можете отключить поддержку центра разработки с помощью следующей команды:
azd config unset platform
Работа с средами развертывания Azure
Если включена функция центра разработки, поведение по умолчанию некоторых распространенных команд azd
изменяет работу с этими удаленными средами. Функция центра разработки расширяет функциональные возможности, предоставляемые стандартными azd
поддержкой удаленной среды.
azd init
Команда azd init
в режиме центра разработки отображает все шаблоны ADE, совместимые с azd, для выбора из настроенного каталога. В процессе инициализации после azd
клонирует код шаблона, файл azure.yaml
будет автоматически обновлен, чтобы включить раздел platform
с выбранной конфигурацией на основе выбранного шаблона. Конфигурация включает имя центра разработки, каталог и определение среды.
azd init
azd up
Команда azd up
будет упаковывать, подготавливать и развертывать приложение в средах развертывания Azure. Однако этап подготовки команды azd up
будет использовать курируемые шаблоны инфраструктуры как кода в удаленном центре разработки, а этап развертывания развернет исходный код в шаблоне azd
. Хотя режим центра разработки включен, azd
игнорирует папку infra
в локальном шаблоне azd
и подготавливает ресурсы только с помощью шаблонов центра разработки. Команда также будет запрашивать все необходимые значения, такие как проект среды развертывания Azure или тип среды.
azd up
azd template list
Команда azd template list
отобразит доступные шаблоны инфраструктуры в каталоге центра разработки, а не шаблоны из коллекции AZD Awesome по умолчанию.
каталоги предоставляют набор курируемых и утвержденных шаблонов инфраструктуры как кода, которые могут использовать команды разработчиков для создания сред.
azd template list
azd provision
Команда azd provision
создаст новые среды центра разработки. Команда запросит отсутствующие значения, например тип среды или проект. При выполнении команды будет использоваться связанный шаблон инфраструктуры для подготовки правильного набора ресурсов Azure для этой среды. Хотя режим центра разработки включен, azd
игнорирует папку infra
в локальном шаблоне azd
и подготавливает ресурсы только с помощью шаблонов центра разработки.
azd provision
azd env list
Команда azd env list
отобразит тот же список сред, которые вы увидите на портале разработчика.
azd env list
Теги ресурсов для сред развертывания Azure
azd
подготовка для сред развертывания Azure зависит от курированных шаблонов из каталога центра разработки. Шаблоны в каталоге могут или не назначать теги подготовленным ресурсам Azure, чтобы связать службы приложений с файлом azure.yaml
. Если шаблоны не назначают теги, эту проблему можно решить одним из двух способов:
Обратитесь к администратору каталога центра разработки, чтобы убедиться, что подготовленные ресурсы Azure включают теги, чтобы связать их со службами, определенными в файле
azure.yaml
.Укажите
resourceName
в файлеazure.yaml
вместо использования тегов:services: api: project: ./src/api host: containerapp language: js resourceName: sample-api-containerapp web: project: ./src/web host: containerapp language: js resourceName: sample-web-containerapp
Настройка параметров центра разработки
Параметры azd
для центров разработки можно определить в нескольких местах. Параметры объединяются из этих расположений, чтобы создать окончательный набор конфигураций в следующем порядке приоритета:
- Переменные среды
- Конфигурация среды Azd
- Конфигурация проекта
- Конфигурация пользователя
azd
автоматически запрашивает любые значения конфигурации, отсутствующие из этих источников. Каждый из этих параметров конфигурации подробно описан в следующих разделах.
Переменные среды
Следующие переменные среды будут обнаружены и использованы azd
:
- AZURE_DEVCENTER_NAME
- AZURE_DEVCENTER_PROJECT
- AZURE_DEVCENTER_CATALOG
- AZURE_DEVCENTER_ENVIRONMENT_DEFINITION
- AZURE_DEVCENTER_ENVIRONMENT_TYPE
- AZURE_DEVCENTER_ENVIRONMENT_USER
Определение конфигураций
Определите конфигурации для центров разработки в области среды azd
в файле .azure/<env>/config.json
:
{
"platform": {
"config": {
"catalog": "SampleCatalog",
"environmentDefinition": "Todo",
"environmentType": "Dev",
"name": "sample-devcenter",
"Project": "SampleProject"
}
}
}
Область проекта
Определите конфигурации для центров разработки в области проекта azd
в узле platform
файла azure.yaml
:
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
platform:
type: devcenter
config:
catalog: SampleCatalog
environmentDefinition: Todo
name: sample-devcenter
project: SampleProject
services:
api:
project: ./src/api
host: containerapp
language: js
web:
project: ./src/web
host: containerapp
language: js
Область пользователя
Определите конфигурации для центров разработки в области пользователя в файле ~/<user_profile>/.azd/config.json
:
{
"platform": {
"config": {
"catalog": "SampleCatalog",
"environmentDefinition": "Todo",
"environmentType": "Dev",
"name": "sample-devcenter",
"Project": "SampleProject"
}
}
}