Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интерфейс командной строки разработчика Azure (azd) позволяет управлять несколькими средами развертывания для проектов, чтобы сохранять конфигурации отдельно для разработки, тестирования и рабочей среды. В этой статье описываются основные понятия о том, как можно использовать среды для управления процессом разработки и развертывания.
Что такое среды?
Среда в интерфейсе командной строки разработчика Azure (azd) — это именованный набор конфигураций для развертывания приложения, например разработки, тестирования или prod. Различные среды можно настроить с различными значениями. Среды служат нескольким важным целям:
- Изоляция: отделяйте разработку, тестирование и рабочие развертывания.
- Управление конфигурацией. Обслуживание различных параметров для каждой среды.
- Совместная работа. Разрешить участникам команды работать с собственными средами.
- Организация ресурсов: группирование и подготовка ресурсов Azure по среде.
- Воспроизводимость. Обеспечение согласованности развертываний на разных этапах.
Каждая среда имеет собственную группу ресурсов Azure и параметры конфигурации. Эта изоляция среды помогает предотвратить изменения в одной среде, влияя на другие.
Структура среды и конфигурация
Среды КОМАНДНОй строкиazd разработчика Azure живут в структуре каталогов в проекте:
├── .azure [Created when you run azd init or azd up]
│ ├── <environment-name-1> [Directory for environment-specific configurations]
│ │ ├── .env [Environment variables for this environment]
│ │ └── config.json [Additional configuration parameters for this environment]
│ ├── <environment-name-2> [Another environment]
│ │ ├── .env
│ │ └── config.json
│ └── config.json [Global azd configuration]
Ключевыми компонентами этой структуры являются:
-
.azureкаталог: корневой каталог для всех конфигураций среды. Исключен из системы управления версиями.gitignoreпо умолчанию. -
Каталоги, относящиеся к среде: каталоги, именованные в честь сред, например
dev,testprod. -
.envfile: содержит переменные, относящиеся к среде, используемые приложением и во время развертывания. -
config.json: используется для управления параметрами, влияющими наazdповедение команд и функции. Этот файл не предназначен для непосредственного использования конечными пользователями.
Имена среды
Именование среды обычно соответствует следующим шаблонам:
- Командные проекты:
<project-name-[dev/int/prod]> - Личные проекты:
<personal-unique-alias-[dev/int/prod]>
Эти соглашения об именовании не применяются azd и настраиваются пользователем.
Переменные среды
Переменные среды командной строки разработчика Azure предоставляют способ хранения параметров конфигурации, влияющих на их влияние, и может отличаться между средами. При выполнении команд КОМАНДНОй строки разработчика Azure эти переменные используются для:
- Настройте параметры приложения, такие как конечные точки для служб Azure.
- Определите параметры инфраструктуры для влияния на процесс подготовки.
Файл .env содержит эти переменные в стандартном формате:
AZURE_ENV_NAME=dev
AZURE_LOCATION=eastus
AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
AZURE_RESOURCE_GROUP=rg-dev-12345
SERVICE_WEB_HOSTNAME=web-dev-12345.azurewebsites.net
SERVICE_API_HOSTNAME=api-dev-12345.azurewebsites.net
К общим переменным среды относятся:
| Переменная | Описание |
|---|---|
AZURE_ENV_NAME |
Имя текущей среды |
AZURE_LOCATION |
Регион Azure, в котором развертываются ресурсы |
AZURE_SUBSCRIPTION_ID |
Идентификатор подписки Azure, используемой для этой среды |
AZURE_RESOURCE_GROUP |
Имя группы ресурсов для этой среды |
Подсказка
Другие распространенные переменные среды и примеры, относящиеся к службе, см. в документации по переменным среды .
При работе с переменными среды:
- Избегайте фиксации
.envфайлов в системе управления версиями. Если необходимо сохранить или предоставить общий доступ к конфигурации среды, пользователи должны использовать удаленные среды. - Используйте согласованное именование в разных средах.
- Используйте команду для безопасного
azd env setобновления переменных.
Предупреждение
Никогда не храните секреты в файле КОМАНДНОй строки .env разработчика Azure. Эти файлы можно легко делиться или копировать в неавторизованные расположения или проверять их в системе управления версиями. Используйте такие службы, как Azure Key Vault или управление доступом на основе ролей Azure (RBAC) для защищенных или секретных решений.
Сравнение других сред платформы
Многие платформы программирования и средства, такие как Node.js, Django или React, используют .env файлы для настройки. Хотя интерфейс командной строки разработчика Azure (azd) также использует .env файлы, существуют важные различия.
| Понятие | Интерфейс командной строки разработчика Azure .env |
Файлы платформы .env |
|---|---|---|
| Местоположение | Сохранено в .azure/<environment-name>/.env |
Обычно хранится в корневом каталоге проекта |
| Поддержка среды | Поддержка нескольких пользовательских сред (разработка, тестирование, prod) | Часто требуются соглашения об переключении файлов вручную или именовании (.env.development, .env.production) |
| Механизм загрузки | Автоматическая загрузка по командам azd |
Обычно требуется явная загрузка в коде приложения или скриптах сборки |
| Интеграция | Глубоко интегрированная с службами Azure и подготовкой ресурсов | Конфигурация общего назначения, а не azure |
| Управление переменными | Управление с помощью azd env команд |
Обычно редактируется вручную или с помощью пользовательских скриптов |
Хотя оба используют аналогичные цели, подход Azure Developer CLI .env добавляет структуру и инструменты, предназначенные для управления несколькими средами развертывания и ресурсами Azure.
Замечание
Если в проекте уже используются файлы платформы .env , обе системы конфигурации можно хранить без конфликтов.
azd Переменные среды переопределяют системные переменные среды с тем же именем для некоторых операций.