Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пакетная оценка позволяет одновременно анализировать несколько приложений, предоставляя комплексное представление ландшафта модернизации в приложениях. В этой статье описывается процесс эффективной оценки нескольких репозиториев.
Пакетная оценка особенно важна для планирования миграции, так как она позволяет эффективно оценивать готовность и требования различных приложений одновременно. С помощью пакетной оценки можно одновременно оценивать различные репозитории и получать подробные отчеты об оценке для каждого приложения. Он создает два типа отчетов для поддержки планирования миграции:
- Отчет о приложении: предоставляет подробные сведения обо всех проблемах модернизации, выявленных на уровне отдельного репозитория.
- Объединенный отчет: представляет общую перспективу всех оцененных приложений, предлагая сводную информацию, рекомендации по службам Azure, целевым платформам и путям обновления. Кроме того, агрегированный отчет включает сочетания клавиш для простого доступа к каждому отчету приложения.
Пакетная оценка обеспечивает следующие преимущества:
Видимость между приложениями:
- Агрегированные отчеты: получение комплексного представления между приложениями.
- Анализ между репозиториями: определение общих шаблонов и зависимостей между приложениями.
- Инсайты о приоритизации: Понимание, какие приложения нуждаются в немедленном внимании.
Масштабирование и эффективность:
- Параллельная обработка: используйте агенты облачного программирования для одновременной обработки нескольких репозиториев.
- Автоматизированные рабочие процессы: интеграция с конвейерами CI/CD для запланированной оценки.
- Экономия времени: сокращение общего времени оценки с недель до часов.
Необходимые условия
- Модернизация интерфейса командной строки.
- Доступ ко всем репозиториям, которые вы хотите оценить.
- Аутентификация GitHub настроена (
gh auth login).
Настройка репозиториев
Чтобы включить пакетную .github/modernize/repos.json оценку, создайте файл в рабочем каталоге, который перечисляет все репозитории, которые необходимо оценить.
Убедитесь, что у вас есть необходимые разрешения для репозиториев или создайте их форк.
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
},
{
"name": "eShopOnWeb",
"url": "https://github.com/dotnet-architecture/eShopOnWeb.git"
}
]
Конфигурация репозитория
Для каждой записи требуется:
- имя: понятное имя репозитория (используется в отчетах и панелях мониторинга).
- URL: Git URL-адрес клонирования в формате HTTPS.
Подсказка
Вы можете включить репозитории из разных организаций и использовать различные методы проверки подлинности до тех пор, пока у вас есть доступ.
Расположение файла
Файл repos.json необходимо поместить в .github/modernize/repos.json.
Агент модернизации автоматически обнаруживает этот файл при выполнении пакетных операций.
Запуск пакетной оценки
Доступны два режима выполнения:
- Локальное выполнение: агент модернизации обрабатывает репозитории друг за другом на локальном компьютере. Этот режим лучше всего подходит для меньшего набора приложений или для первоначального тестирования.
- Делегирование агента облачного программирования: агент модернизации отправляет задачи в агенты облачного программирования GitHub для параллельной обработки в облаке. Этот режим быстрее выполняет задачи в сценариях с несколькими репозиториями.
Подсказка
С помощью делегирования агента облачного программирования можно включить параллельное выполнение во всех репозиториях. Такой подход значительно сокращает общее время оценки для крупных портфелей.
Интерактивный режим (оценка локально)
Запустите агент модернизации:
modernizeАгент обнаруживает
repos.jsonфайл и отображает список репозитория:Выберите репозитории для оценки и нажмите клавишу
Enter, чтобы подтвердить выбор.-
Нажмите
Ctrl+AДля выбора всех репозиториев. -
Используйте клавиши со стрелками для перехода и нажатия
Spaceклавиш для выбора отдельных репозиториев.
-
Нажмите
Выберите 1. Оценка приложения из главного меню.
Чтобы выполнить оценку, выберите выполнение локально или делегируйте выполнение агентам кодирования в облаке. Выберите 1. Оцените локально.
Снимок экрана Modernize CLI, на котором отображается меню оценки в терминале.
Агент автоматически:
После завершения оценки агент автоматически открывает агрегированный отчет.
Интерактивный режим (делегирование в агенты облачного программирования)
Сначала настройте агенты облачного программирования в каждом репозитории приложений. Чтобы настроить агентов облачного программирования, создайте форк образцов репозиториев.
Настройка приложений .NET
Настройка запуска в приложениях Windows для .NET Framework
По умолчанию агент кодирования Copilot выполняется в среде Ubuntu Linux. Для приложений .NET Framework требуется среда Windows. Чтобы включить его, настройте .github/workflows/copilot-setup-steps.yaml в main ветви репозитория приложений, как показано в следующем примере:
# Windows-based Copilot Setup Steps for .NET tasks
# Note: Windows runners have firewall limitations that may affect some network operations
# Use this workflow for .NET projects that require Windows-specific tooling
name: "Copilot Setup Step (Windows)"
on:
workflow_dispatch:
jobs:
copilot-setup-steps:
runs-on: windows-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v5
Узнать больше: настройка среды разработки Copilot с помощью шагов настройки Copilot
Отключение брандмауэра
Отключите интегрированный брандмауэр агента кода Copilot в параметрах репозитория, как показано на следующем рисунке:
Настройка приложений Java
Настройте MCP-сервер для модернизации GitHub Copilot в секции Cloud Coding Agent параметров вашего репозитория, как показано в следующем примере:
{
"mcpServers": {
"app-modernization": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"-y",
"@microsoft/github-copilot-app-modernization-mcp-server"
]
}
}
}
Шаги
Запустите агент модернизации:
modernizeАгент обнаруживает
repos.jsonфайл и отображает список репозитория:Выберите репозитории для оценки и нажмите клавишу
Enter, чтобы подтвердить выбор.-
Нажмите
Ctrl+AДля выбора всех репозиториев. -
Используйте клавиши со стрелками для перехода и нажатия
Spaceклавиш для выбора отдельных репозиториев.
-
Нажмите
Выберите 1. Оценка приложений из главного меню.
Чтобы выполнить оценку, выберите 2. Делегировать агентам облачного программирования.
Агент автоматически делегирует задачи оценки для каждого репозитория в облачные агенты программирования и выполняет их в облаке параллельно.
Затем агент извлекает результаты оценки для каждого приложения обратно на локальное устройство и создаёт совокупный отчет локально.
После завершения оценки агент автоматически открывает агрегированный отчет.
Неинтерактивный режим (CLI)
Кроме того, можно использовать неинтерактивный режим, указав аргументы команд напрямую. Используйте команду modernize assess:
Оценка локально:
modernize assess --multi-repo
Оцените, делегируя облачным агентам кодирования:
modernize assess --delegate cloud
Дополнительные сведения см. в разделе оценка — команды CLI.
Общие сведения об агрегированном отчете
Объединенный отчет предоставляет комплексное представление для оцененных приложений следующим образом:
Панель мониторинга
- Общий обзор состояния портфеля: общее количество приложений, сколько требуют обновления, а также общее количество блокировок и проблем.
- Распределение технологий: какие платформы используются и сколько приложений совместно используются.
- Распределение усилий: является ли общая миграция небольшой или большой задачей.
Рекомендации
- Службы Azure: сопоставляют текущие зависимости с рекомендуемыми эквивалентами Azure. Общие зависимости между приложениями решаются один раз, поэтому вы избегаете повторной работы для каждого приложения.
- Целевая платформа: руководства по выбору размещения, например, таких, как контейнерные приложения и AKS, и выявление возможностей для консолидации.
- Путь обновления: определяет, какие приложения нуждаются в обновлении платформы в качестве обязательного условия, разделяя работу обновления от работы миграции.
- Волны миграции: организация приложений по готовности и риску в различные этапы. Этот подход позволяет ранним выигрышам, а более трудные приложения подготавливаются параллельно.
Матрица оценки приложений
- Краткий обзор каждого приложения по аспектам платформы, целевой платформы, рекомендации по обновлению, разбивка проблем (обязательный, потенциальный, необязательный), размер усилий и многое другое.
- Ссылки на отдельные отчеты приложений для детализации при необходимости.
Устранение неполадок пакетного анализа
Распространенные проблемы
Ошибки доступа к репозиторию:
- Проверьте проверку подлинности GitHub с помощью
gh auth status. - Убедитесь, что у вас есть доступ ко всем репозиториям, перечисленным в
repos.json.
Неудачи при клонировании:
- Проверьте правильность и доступность URL-адресов
repos.jsonрепозитория. - Убедитесь, что у вас есть правильные разрешения на доступ для всех репозиториев.
- Проверьте параметры сетевого подключения и VPN.
Сбои оценки:
- Проверьте, содержит ли репозиторий допустимые проекты Java или .NET.
- Убедитесь, что существуют файлы сборки, например
pom.xml,build.gradleили*.csproj*.sln. - Просмотрите сообщения об ошибках в выходных данных консоли.
Проблемы с делегированием агента программирования в облаке:
- Убедитесь, что у вас есть правильные разрешения на создание рабочих процессов GitHub Actions.
- Проверьте разрешения GitHub Actions и ограничения квот для вашей организации.
- Для приложений .NET Framework убедитесь, что конфигурация runner Windows настроена правильно.
- Проверьте конфигурацию сервера MCP.
Дальнейшие действия
После завершения пакетной оценки можно:
Продолжить рабочий процесс модернизации:
- Выполнение пакетного обновления в репозиториях — применение согласованных обновлений на основе результатов оценки.
Дополнительные сведения:
Предоставьте отзыв
Мы ценим ваши входные данные! Если у вас есть отзывы о пакетной оценке или агенте модернизации, создайте проблему в репозитории github-copilot-appmod или используйте форму отзывов о модернизации GitHub Copilot.