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


Подготовка инфраструктуры и развертывание приложений с помощью агента модернизации GitHub Copilot

Агент модернизации GitHub Copilot поддерживает подготовку инфраструктуры, контейнеризацию и развертывание. Эти возможности соответствуют той же модели план создания → план выполнения, используемой в агенте.

Рабочий процесс состоит из двух этапов:

  1. Подготовка инфраструктуры. Создание и подготовка инфраструктуры Azure.
  2. Контейнеризация и развертывание: контейнеризация и развертывание приложения.

Замечание

Эти два этапа независимы. Их можно запускать вместе или использовать каждый этап отдельно. Например, пропустите подготовку инфраструктуры, если у вас уже есть среда, или подготовьте инфраструктуру сейчас и разверните позже.

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

  • Подписка Azure: активная подписка Azure для подготовки инфраструктуры.
  • Модернизируйте CLI: Используйте quickstart, чтобы установить и пройти аутентификацию.

Этап 1. Подготовка инфраструктуры

Агент модернизации создает план подготовки инфраструктуры Azure на основе предоставленных входных данных. Эта функция включает в себя разработку целевой зоны Azure, адаптированной к вашему приложению и охватывающей сети, идентификацию, управление и основы безопасности.

Входные данные

Агент может использовать различные входные данные для информирования плана инфраструктуры:

  • Исходный код приложения: анализ базы кода для определения стека технологий, зависимостей и требований к ресурсам.
  • Отчеты об оценке: отчеты из modernize assess, Azure Migrate или других инструментов миграции и оценки.
  • Схемы архитектуры: диаграммы архитектуры перед миграцией или проектные документы в репозитории.
  • Требования к соответствию и безопасности: политики организации, стандарты безопасности или рекомендации по целевой зоне, предоставляемые в качестве документов в репозитории или в качестве естественного языка в запросе.

Создание плана инфраструктуры

Используйте modernize plan create с запросом, описывающим потребности инфраструктуры.

modernize plan create "help create azure infrastructure for my app" --plan-name infra-setup

Агент создает план, включающий предлагаемую архитектуру Azure и подробный список ресурсов для подготовки. По умолчанию план охватывает создание файлов IaC и подготовку ресурсов. Вы можете запросить только создание файлов IaC с помощью запроса.

Подсказка

Объедините различные входные данные и настройки в вашем запросе. Рассмотрим пример.

  • "create an Azure landing zone tailored to my application's architecture and requirements"
  • "create azure infrastructure based on the assessment report, following our compliance policies in docs/security-requirements.md"
  • "generate Bicep files for the target architecture in the design doc, don't provision yet"
  • "provision azure resources based on the architecture diagram and assessment findings"

Просмотр плана

Просмотрите выходные файлы перед выполнением:

  • Файл плана (.github/modernize/infra-setup/plan.md): стратегия инфраструктуры и предлагаемая архитектура.
  • Список задач (.github/modernize/infra-setup/tasks.json): конкретные задачи, выполняемые агентом.

Вы можете изменить оба файла, чтобы настроить конфигурации ресурсов или изменить подход перед выполнением.

Выполнение плана инфраструктуры

Выполните план:

modernize plan execute --plan-name infra-setup

Проверка инфраструктуры

Просмотрите созданный код инфраструктуры и подтвердите ресурсы Azure с помощью портала Azure или Azure CLI:

git status
git diff main

Этап 2. Контейнеризация и развертывание

Используйте второй план для контейнеризации приложения и его развертывания.

Замечание

На этом этапе требуется исходный код приложения, который уже перенесен или обновлен. Завершите модернизацию кода, прежде чем продолжить контейнеризацию и развертывание.

Создание плана развертывания

modernize plan create "containerize and deploy my app to azure, subscription: <sub-id>, resource group: <rg-name>" --plan-name deploy

Вы можете контейнеризировать и развертывать вместе или обрабатывать их отдельно с отдельными планами.

  • Контейнеризация: создает Файл Dockerfile для проекта и проверяет сборку образа контейнера.
  • Развертывание. Создает все необходимые файлы конфигурации и манифесты на основе целевой службы размещения Azure, развертывает приложение и создает повторно используемый скрипт развертывания для дальнейшего использования.

Подсказка

Настройте запрос в соответствии с вашими потребностями:

  • "containerize my app and create dockerfile": только контейнеризация без развертывания.
  • "deploy my app to the AKS cluster in subscription: <sub-id>, resource group: <rg-name>": развертывание уже контейнеризованного приложения.

Просмотр плана

Просмотрите созданные файлы плана:

  • Файл плана (.github/modernize/deploy/plan.md): стратегия контейнеризации и развертывания.
  • Список задач (.github/modernize/deploy/tasks.json): конкретные задачи развертывания.

Выполнение плана развертывания

modernize plan execute --plan-name deploy

Проверка развертывания

  1. Просмотрите изменения кода: проверьте созданные файлы Dockerfile, манифесты развертывания и изменения конфигурации.

    git status
    git diff main
    
  2. Проверьте работающее приложение: получите доступ к развернутому приложению через URL, предоставленный выбранной службой размещения.

Использование интерактивного режима

Вы также можете выполнить оба этапа с помощью интерактивного TUI, выполнив modernize и выбрав "Создать план модернизации " в меню.

Дальнейшие действия