Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Агент модернизации GitHub Copilot предоставляет интерактивные и неинтерактивные режимы модернизации приложений.
Режимы команд
Интерактивный режим
Запустите интерактивный пользовательский интерфейс текста (TUI) для интерактивной модернизации:
modernize
Интерактивный режим предоставляет следующие возможности:
- Навигация на основе меню через рабочий процесс модернизации.
- Визуальный план и индикаторы хода выполнения.
- Интерактивные запросы для параметров конфигурации.
- Интерфейс выбора нескольких репозиторий.
Неинтерактивный режим
Выполните определенные команды непосредственно для автоматизации и скриптов:
modernize <command> [options]
Используйте неинтерактивный режим, когда:
- Интеграция с конвейерами CI/CD.
- Автоматизация пакетных операций.
- Рабочие процессы модернизации сценариев.
- Работает в бессерверных средах.
Глобальные опции
Все команды поддерживают следующие глобальные параметры:
| Опция | Описание |
|---|---|
--help, -h |
Отображает сведения о справке. |
--no-tty |
Отключает интерактивные запросы (режим без головы). |
Команды
Оценить
Выполняет оценку и создает комплексный отчет по анализу.
Синтаксис
modernize assess [options]
Options
| Опция | Описание | По умолчанию |
|---|---|---|
--source <path> |
Путь к исходному проекту (относительный или абсолютный локальный путь). |
. (текущий каталог) |
--output-path <path> |
Пользовательский путь вывода для результатов оценки. | .github/modernize/assessment/ |
--issue-url <url> |
URL-адрес проблемы GitHub для обновления с сводкой оценки. | Нет |
--multi-repo |
Включает оценку нескольких репозиторий. Сканирует подкаталоги первого уровня для нескольких репозиториев. | Disabled |
--model <model> |
Используемая модель LLM. | claude-sonnet-4.6 |
--delegate <delegate> |
Режим выполнения: local (этот компьютер) или cloud (агент облачного программирования). |
local |
--wait |
Ожидает завершения делегированных задач и создания результатов (только допустимых с --delegate cloud). |
Disabled |
--force |
Принудительно перезапустить делегирование, игнорируя текущие задачи (только допустимыми с --delegate cloud). |
Disabled |
Примеры
Базовая оценка текущего каталога:
modernize assess
Оценка с пользовательским расположением выходных данных:
modernize assess --output-path ./reports/assessment
Оцените и обновите проблему GitHub с результатами:
modernize assess --issue-url https://github.com/org/repo/issues/123
Оценка определенного каталога проекта:
modernize assess --source /path/to/project
Оценка нескольких репозиториев в текущем каталоге:
modernize assess --multi-repo
Выходные данные
Оценка создает следующее:
- Файлы отчетов: подробный анализ в форматах JSON, MD и HTML.
- Сводка: ключевые выводы и рекомендации.
-
Обновления проблем (если вы предоставляете
--issue-url): комментарий проблемы GitHub с сводкой.
Создание плана
Создает план модернизации на основе запроса естественного языка, описывающего цели модернизации.
Синтаксис
modernize plan create <prompt> [options]
Аргументы
| Аргумент | Описание |
|---|---|
<prompt> |
Описание целей модернизации (обязательно). |
Options
| Опция | Описание | По умолчанию |
|---|---|---|
--source <path> |
Путь к исходному коду приложения. | Текущий каталог |
--plan-name <name> |
Имя плана модернизации. | modernization-plan |
--language <lang> |
Язык программирования (java, dotnetили python). |
Автоматическое обнаружение |
--overwrite |
Перезаписывает существующий план с тем же именем. | Disabled |
--model <model> |
Используемая модель LLM. | claude-sonnet-4.6 |
Примеры
Создайте план миграции:
modernize plan create "migrate from oracle to azure postgresql"
Создайте план обновления с пользовательским именем:
modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade
Создайте план развертывания:
modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca
Пример полных параметров:
modernize plan create "upgrade to .NET 8" \
--source /path/to/project \
--plan-name dotnet8-upgrade \
--language dotnet \
--issue-url https://github.com/org/repo/issues/456
Примеры запросов
Обновления платформы:
upgrade to spring boot 3upgrade to .NET 10upgrade to JDK 21migrate from spring boot 2 to spring boot 3
Миграции баз данных:
migrate from oracle to azure postgresqlmigrate from SQL Server to azure cosmos dbswitch from MySQL to azure database for mysql
Миграции в облако:
migrate from on-premises to azurecontainerize and deploy to azure container appsmigrate from rabbitmq to azure service bus
Развёртывание:
deploy to azure app servicedeploy to azure kubernetes serviceset up CI/CD pipeline for azure
Выходные данные
Команда создает следующую команду:
Файл плана (
.github/modernize/{plan-name}/plan.md): подробная стратегия модернизации, включая:- Контекст и цели
- Подход и методология
- Разъяснения
Список задач (
.github/modernize/{plan-name}/tasks.json): Структурированная разбивка исполняемых задач с помощью:- Описания задач
- Навыки использования
- Критерии успеха
Подсказка
Вы можете вручную изменить plan.mdtasks.json и после создания, чтобы настроить подход перед выполнением.
выполнение плана
Выполняет план модернизации, созданный с помощью modernize plan create.
Синтаксис
modernize plan execute [prompt] [options]
Аргументы
| Аргумент | Описание |
|---|---|
[prompt] |
Необязательные инструкции по естественному языку для выполнения (например, "пропустить тесты"). |
Options
| Опция | Описание | По умолчанию |
|---|---|---|
--source <path> |
Путь к исходному коду приложения. | Текущий каталог |
--plan-name <name> |
Имя выполняемого плана. | modernization-plan |
--language <lang> |
Язык программирования (java или dotnet). |
Автоматическое обнаружение |
--model <model> |
Используемая модель LLM. | claude-sonnet-4.6 |
--delegate <delegate> |
Режим выполнения: local (этот компьютер) или cloud (агент облачного программирования). |
local |
--force |
Принудительно выполняется даже при выполнении задания CCA. | Disabled |
Примеры
Выполните последний план в интерактивном режиме:
modernize plan execute
Выполните конкретный план:
modernize plan execute --plan-name spring-boot-upgrade
Выполните дополнительные инструкции:
modernize plan execute "skip the test" --plan-name spring-boot-upgrade
Выполнение в режиме без головы для CI/CD:
modernize plan execute --plan-name spring-boot-upgrade --no-tty
Поведение выполнения
Во время выполнения агент:
Загружает план: считывает план и список задач из
.github/modernization/{plan-name}/Выполняет задачи: обрабатывает каждую задачу в списке задач последовательно:
- Применяет преобразования кода.
- Проверяет сборки после изменений.
- Проверяет наличие CVEs.
- Фиксирует изменения с описательными сообщениями.
Создает сводку: предоставляет отчет обо всех изменениях и результатах.
Выходные данные
- Журнал фиксаций: подробные фиксации для каждой выполняемой задачи.
- Сводный отчет: обзор изменений, успехов и любых проблем.
- Проверка сборки: подтверждение успешной сборки приложения.
- Отчет CVE: уязвимости безопасности, выявленные и устраненные.
upgrade
Выполняет комплексный рабочий процесс обновления — план и выполнение — в одной команде.
Синтаксис
modernize upgrade [prompt] [options]
Аргументы
| Аргумент | Описание |
|---|---|
[prompt] |
Целевая версия, например Java 17, Spring Boot 3.2.NET 10. По умолчанию используется последняя версия LTS. |
Options
| Опция | Описание | По умолчанию |
|---|---|---|
--source <source> |
Путь к исходному проекту (относительный или абсолютный локальный путь). |
. (текущий каталог) |
--delegate <delegate> |
Режим выполнения: local (этот компьютер) или cloud (агент облачного программирования). |
local |
--model <model> |
Используемая модель LLM. | claude-sonnet-4.6 |
Примеры
Запустите upgrade текущий каталог:
modernize upgrade "Java 17"
modernize upgrade ".NET 10"
Запуск upgrade в определенном проекте:
modernize upgrade "Java 17" --source /path/to/project
Запустите upgrade с помощью агента облачного программирования:
modernize upgrade "Java 17" --delegate cloud
help
Предоставляет команды справки и информации.
Синтаксис
modernize help [command]
Команды
| Command | Описание |
|---|---|
models |
Перечисляет доступные модели LLM и их умножители. |
Примеры
Список доступных моделей:
modernize help models
Настройка интерфейса командной строки
С помощью агента модернизации можно настроить поведение приложения с помощью JSON-файлов и переменных среды.
Переменные среды
Задайте переменные среды для переопределения всех других областей конфигурации:
| Variable | Описание | По умолчанию |
|---|---|---|
MODERNIZE_LOG_LEVEL |
Уровень ведения журнала (none, , warningerrorinfo, , debug) all |
info |
MODERNIZE_MODEL |
Используемая модель LLM. | claude-sonnet-4.6 |
MODERNIZE_COLLECT_TELEMETRY |
Включение или отключение сбора данных телеметрии. | true |
Пример:
export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess
Конфигурация пользователей
Сохраните пользовательские настройки в ~/.modernize/config.json параметрах на уровне репозитория или на .github/modernize/config.jsonуровне репозитория.
{
"model": "claude-sonnet-4.6",
"log_level": "info",
"trusted_folders": [
"/path/to/trusted/project",
]
}
Свойство trusted_folders указывает папки, доверенные для использования LLM в интерактивном режиме.
Замечание
Переменные среды имеют наивысший приоритет, за которым следует конфигурация пользователя, а затем конфигурация репозитория. Используйте переменные среды для переопределения CI/CD и конфигурации пользователя для личных настроек.
Настройка нескольких репозиторий
Создайте файл для .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"
}
]
repos.json После того как файл будет установлен, используйте следующие команды для работы во всех настроенных репозиториях:
Оцените все репозитории локально:
modernize assess
Оцените все репозитории с помощью агента облачного кода:
modernize assess --delegate cloud
Обновите все репозитории с помощью агента облачного кода:
modernize upgrade --delegate cloud