Поделиться через


Поддержка Интерфейса командной строки разработчика Azure для сред развертывания Azure

Интерфейс командной строки разработчика Azure (azd) предоставляет поддержку средам развертывания Azure. Среда развертывания Azure (ADE) — это предварительно настроенная коллекция ресурсов Azure, развернутых в предопределенных подписках. Управление Azure применяется к этим подпискам на основе типа среды, например песочницы, тестирования, промежуточного хранения или рабочей среды. В средах развертывания Azure вы можете применять корпоративные политики безопасности и предоставлять готовый набор шаблонов инфраструктуры в виде кода (IaC).

Необходимые условия

Убедитесь, что вы выполнили следующие предварительные требования для работы с средами развертывания 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 для центров разработки можно определить в нескольких местах. Параметры объединяются из этих расположений, чтобы создать окончательный набор конфигураций в следующем порядке приоритета:

  1. Переменные среды
  2. Конфигурация среды Azd
  3. Конфигурация проекта
  4. Конфигурация пользователя

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"
        }
    }
}