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


Добавление поддержки Azure Developer CLI в приложение с помощью кода в каталоге приложений

Интерфейс командной строки разработчика Azure (azd) предоставляет два разных рабочих процесса для инициализации шаблона для использования с приложением, в том числе:

  • Используйте код в текущем каталоге: этот подход анализирует приложение и автоматически создает поддерживаемые ресурсы инфраструктуры и конфигурации.
  • Выберите шаблон: этот подход позволяет интегрировать существующий шаблон с приложением или использовать существующий шаблон в качестве отправной точки для нового приложения.

Оба этих подхода рассматриваются в документации по созданию шаблонов командной строки разработчика Azure.

Из этой статьи вы узнаете, как добавить поддержку интерфейса командной строки разработчика Azure (azd) в приложение с помощью кода use в текущем подходе к каталогу . Дополнительные сведения об альтернативном подходе см. в статье "Добавление azd поддержки в приложение" с помощью существующего документа шаблона . Вы также можете посетить учебный курс — создание и развертывание azd шаблонов для получения дополнительных сведений о создании 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 папке с необходимыми переменными среды для запуска рабочего процесса.