Совместимость проекта с интерфейсом командной строки разработчика Azure
Интерфейс командной строки разработчика Azure позволяетazd
разработчикам создавать шаблоны приложений для облака с помощью шаблонов, размещенных на сайте GitHub. Корпорация Майкрософт предоставляет несколько шаблонов для начала работы. Из этой статьи вы узнаете, как обеспечить совместимость с собственным приложением azd
.
Общие сведения об архитектуре шаблона
На следующей схеме представлен краткий обзор процесса создания azd
шаблона:
Все azd
шаблоны имеют одинаковую структуру файлов на основе azd
соглашений. В следующей иерархии показана структура каталогов, которую вы создадите в этом руководстве.
├── .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]
Инициализация шаблона
Эта azd init
команда используется для инициализации приложения для подготовки и развертывания ресурсов приложения в Azure. Эта командная строка позволяет выбрать два разных рабочих процесса для инициализации шаблона, описанного в следующих разделах.
Используйте код в текущем каталоге: выберите этот параметр, чтобы указать
azd
проанализировать код в каталоге для идентификации используемых технологий, таких как язык программирования, платформа и система баз данных.azd
Затем будет автоматически создавать ресурсы шаблонов, напримерazure.yaml
файл определения службы и папкуinfra
с файлами кода инфраструктуры как кода.Выберите шаблон: выберите этот параметр, чтобы использовать существующий шаблон в качестве отправной точки. По умолчанию
azd
можно просматривать шаблоны из коллекции Awesome AZD , но вы также можете настроить собственные коллекции шаблонов. При выборе шаблона ресурсы этого шаблона будут добавлены в существующий каталог проекта.
Сведения о каждом из этих рабочих процессов описаны в следующих разделах.
Вы можете выполнить шаги вперед с помощью собственного проекта. Однако если вы предпочитаете использовать пример приложения, клонируйте следующий начальный репозиторий в пустой каталог на компьютере:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Откройте средство командной строки для корневого каталога проекта.
azd init
Выполните команду, чтобы инициализировать шаблон.azd init
При появлении запроса выберите параметр "Использовать код" в текущем каталоге.
azd
анализирует проект и предоставляет сводку обнаруженных служб и рекомендуемых ресурсов размещения Azure.Выберите " Подтвердить" и продолжить инициализацию приложения.
azd
создает следующие ресурсы в корневом каталоге проекта:- Файл
azure.yaml
с соответствующими определениями служб. - Папка
infra
с файлами инфраструктуры как кода для подготовки и развертывания проекта в Azure. - Папка
.azure
с переменными среды, заданными.env
в файле.
Дополнительные сведения об этом процессе обнаружения и создания приведены далее в статье.
- Файл
Созданные файлы работают как есть для предоставленного примера приложения и могут также использовать собственные приложения. При необходимости созданные файлы можно изменить в соответствии с вашими потребностями. Например, может потребоваться дополнительно изменить файлы инфраструктуры как кода в папке
infra
, если приложение использует ресурсы Azure за пределами тех, которые были идентифицированыazd
.Выполните команду для подготовки
azd up
и развертывания приложения в Azure.azd up
При появлении запроса выберите нужную подписку и расположение, чтобы начать процесс подготовки и развертывания.
По завершении процесса щелкните ссылку в
azd
выходных данных, чтобы открыть приложение в браузере.
Изучение шагов инициализации
При выборе кода Use в текущем рабочем процессе каталога команда анализирует проект и автоматически создает код на основе того, azd init
что он обнаруживает. В разделах ниже описаны сведения о том, как работает этот процесс и какие технологии в настоящее время поддерживаются.
Detection
Команда azd init
обнаруживает файлы проекта для поддерживаемых языков, расположенных в каталоге проекта и подкаталогах. azd
также сканирует зависимости пакетов для сбора сведений о веб-платформах или базах данных, используемых приложением. При необходимости можно вручную добавить или изменить обнаруженные компоненты, как показано в сводке подтверждения.
Текущая логика обнаружения выглядит следующим образом:
- Поддерживаемые языки:
- Python
- JavaScript/TypeScript
- .NET
- Java
- Поддерживаемые базы данных:
- MongoDB
- PostgreSQL
- Для Python и JavaScript/TypeScript веб-платформы и базы данных автоматически обнаруживаются.
- Если проект JavaScript/TypeScript использует интерфейсную (или клиентскую) веб-платформу, он классифицируется как интерфейсная служба. Если служба использует интерфейсную веб-платформу, которая в настоящее время не определена, можно выбрать JQuery, чтобы обеспечить эквивалентную классификацию и поведение интерфейсной службы.
Поколение
После подтверждения обнаруженных компонентов создает файлы инфраструктуры как кода, azd init
необходимые для развертывания приложения в Azure.
Логика создания выглядит следующим образом:
- Поддерживаемые узлы:
- Приложения контейнеров Azure.
- Для баз данных используется поддерживаемая сопоставление между технологией базы данных и службой:
- MongoDB: API Azure CosmosDB для MongoDB
- PostgreSQL: гибкий сервер База данных Azure для PostgreSQL
- Redis: надстройка Redis для контейнерных приложений Azure
- Службы, использующие базы данных, будут иметь переменные среды, которые обеспечивают подключение к базе данных, предварительно настроенной по умолчанию.
- При обнаружении интерфейсных и внутренних служб конфигурация CORS на узле Azure для внутренних служб будет обновлена, чтобы разрешить домен размещения интерфейсных служб по умолчанию. Это можно изменить или удалить при необходимости в файлах конфигурации инфраструктуры в виде кода.
Добавление поддержки контейнеров разработки
Вы также можете сделать шаблон совместимым с контейнерами разработки и пространствами codespace. Контейнер разработки позволяет использовать контейнер в качестве полнофункциональный среды разработки. Его можно использовать для запуска приложения, разделения средств, библиотек или сред выполнения, необходимых для работы с базой кода, а также для обеспечения непрерывной интеграции и тестирования. Контейнеры разработки можно запускать локально или удаленно в частном или общедоступном облаке. (Источник: https://containers.dev/)
Чтобы добавить поддержку контейнеров разработки, выполните приведенные далее действия.
Создайте папку devcontainer в корне проекта.
devcontainer.json
Создайте файл внутри.devcontainer
папки с требуемыми конфигурациями. Начальныйazd
шаблон предоставляет примерdevcontainer.json
файла, который можно скопировать в проект и изменить по мере необходимости.
Дополнительные сведения о работе с контейнерами разработки см. в документации по Visual Studio Code.
Добавление поддержки конвейера CI/CD
Вы также можете добавить поддержку CI/CD в шаблон с помощью действий GitHub или Azure DevOps, выполнив следующие действия:
.github
Добавьте папку для действий GitHub или.ado
папку для Azure DevOps в корневой каталог проекта.Добавьте файл рабочего процесса в новую папку. Начальный
azd
шаблон предоставляет файл рабочего процесса GitHub Actions и примеры файлов Azure DevOps Pipelines для каждой платформы, которую можно скопировать в проект и изменить по мере необходимости.Кроме того, может потребоваться обновить
main.parameters.json
файл вinfra
папке с необходимыми переменными среды для запуска рабочего процесса.
Настройка конвейера CI/CD
Если шаблон включает поддержку GitHub Actions или Azure Pipelines, можно настроить конвейер CI/CD, выполнив следующие действия.
Выполните следующую команду, чтобы отправить обновления в репозиторий. Рабочий процесс GitHub Actions активируется из-за обновления.
azd pipeline config
В браузере перейдите в репозиторий GitHub для проекта.
Выберите действия , чтобы просмотреть запущенный рабочий процесс.
Очистка ресурсов
Если ресурсы, созданные в этой статье, больше не нужны, выполните следующую команду:
azd down
См. также
- Создайте файлы Bicep с помощью Visual Studio Code для ознакомления с файлами Bicep.
- Примеры Bicep
- Как декомпилировать шаблоны Azure Resource Manager (шаблоны ARM) на Bicep
- Схема Azure Developer CLI azure.yaml
Запросить справку
Сведения о том, как отправить ошибку, запросить справку или предложить новую функцию для Интерфейса командной строки разработчика Azure, посетите страницу устранения неполадок и поддержки .
Следующие шаги
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по