Совместимость проекта с интерфейсом командной строки разработчика Azure

Интерфейс командной строки разработчика Azure позволяетazd разработчикам создавать шаблоны приложений для облака с помощью шаблонов, размещенных на сайте GitHub. Корпорация Майкрософт предоставляет несколько шаблонов для начала работы. Из этой статьи вы узнаете, как обеспечить совместимость с собственным приложением azd .

Общие сведения об архитектуре шаблона

На следующей схеме представлен краткий обзор процесса создания azd шаблона:

Diagram of Azure Developer CLI template workflow.

Все 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 , но вы также можете настроить собственные коллекции шаблонов. При выборе шаблона ресурсы этого шаблона будут добавлены в существующий каталог проекта.

Сведения о каждом из этих рабочих процессов описаны в следующих разделах.

  1. Вы можете выполнить шаги вперед с помощью собственного проекта. Однако если вы предпочитаете использовать пример приложения, клонируйте следующий начальный репозиторий в пустой каталог на компьютере:

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Откройте средство командной строки для корневого каталога проекта.

  3. azd init Выполните команду, чтобы инициализировать шаблон.

    azd init
    
  4. При появлении запроса выберите параметр "Использовать код" в текущем каталоге. azd анализирует проект и предоставляет сводку обнаруженных служб и рекомендуемых ресурсов размещения Azure.

  5. Выберите " Подтвердить" и продолжить инициализацию приложения. azd создает следующие ресурсы в корневом каталоге проекта:

    • Файл azure.yaml с соответствующими определениями служб.
    • Папка infra с файлами инфраструктуры как кода для подготовки и развертывания проекта в Azure.
    • Папка .azure с переменными среды, заданными .env в файле.

    Дополнительные сведения об этом процессе обнаружения и создания приведены далее в статье.

  6. Созданные файлы работают как есть для предоставленного примера приложения и могут также использовать собственные приложения. При необходимости созданные файлы можно изменить в соответствии с вашими потребностями. Например, может потребоваться дополнительно изменить файлы инфраструктуры как кода в папке infra , если приложение использует ресурсы Azure за пределами тех, которые были идентифицированы azd.

  7. Выполните команду для подготовки azd up и развертывания приложения в Azure.

    azd up
    
  8. При появлении запроса выберите нужную подписку и расположение, чтобы начать процесс подготовки и развертывания.

  9. По завершении процесса щелкните ссылку в 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/)

Чтобы добавить поддержку контейнеров разработки, выполните приведенные далее действия.

  1. Создайте папку devcontainer в корне проекта.

  2. devcontainer.json Создайте файл внутри .devcontainer папки с требуемыми конфигурациями. Начальный azdшаблон предоставляет пример devcontainer.json файла, который можно скопировать в проект и изменить по мере необходимости.

Дополнительные сведения о работе с контейнерами разработки см. в документации по Visual Studio Code.

Добавление поддержки конвейера CI/CD

Вы также можете добавить поддержку CI/CD в шаблон с помощью действий GitHub или Azure DevOps, выполнив следующие действия:

  1. .github Добавьте папку для действий GitHub или .ado папку для Azure DevOps в корневой каталог проекта.

  2. Добавьте файл рабочего процесса в новую папку. Начальный azdшаблон предоставляет файл рабочего процесса GitHub Actions и примеры файлов Azure DevOps Pipelines для каждой платформы, которую можно скопировать в проект и изменить по мере необходимости.

  3. Кроме того, может потребоваться обновить main.parameters.json файл в infra папке с необходимыми переменными среды для запуска рабочего процесса.

Настройка конвейера CI/CD

Если шаблон включает поддержку GitHub Actions или Azure Pipelines, можно настроить конвейер CI/CD, выполнив следующие действия.

  1. Выполните следующую команду, чтобы отправить обновления в репозиторий. Рабочий процесс GitHub Actions активируется из-за обновления.

    azd pipeline config    
    
  2. В браузере перейдите в репозиторий GitHub для проекта.

  3. Выберите действия , чтобы просмотреть запущенный рабочий процесс.

Очистка ресурсов

Если ресурсы, созданные в этой статье, больше не нужны, выполните следующую команду:

azd down

См. также

Запросить справку

Сведения о том, как отправить ошибку, запросить справку или предложить новую функцию для Интерфейса командной строки разработчика Azure, посетите страницу устранения неполадок и поддержки .

Следующие шаги