Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пакетный план позволяет создавать планы модернизации для нескольких репозиториев с помощью одного рабочего процесса и общей цели модернизации. В этой статье показано, как создать согласованные планы в нескольких приложениях перед началом выполнения.
С помощью пакетного плана можно:
- Создайте планы для нескольких приложений в одном интерактивном рабочем процессе.
- Применение последовательной цели модернизации между репозиториями.
- Используйте результаты оценки в качестве контекста для улучшения качества плана.
- Просмотрите планы перед выполнением и определите, какие репозитории сначала модернизировать.
Пакетный план обеспечивает следующие преимущества:
Согласованность и управление:
- Общий замысел: Начните с одного запроса на модернизацию для всех репозиториев.
- Сопоставимые результаты: просмотрите планы рядом друг с другом перед выполнением.
- Гибкая доработка: измените каждый сгенерированный план с учётом потребностей конкретного репозитория.
Планирование в масштабе:
- Видимость портфеля. Узнайте, как применяется один и тот же запрос в приложениях.
- Повторное использование подготовки: используйте тот же список репозиториев и результаты оценки с предыдущих этапов.
- Быстрое принятие решений: сначала создайте планы, а затем выполните только репозитории, которые вы утверждаете.
Необходимые условия
- Модернизация интерфейса командной строки.
- Доступ ко всем репозиториям, которые вы хотите запланировать.
- Настроена аутентификация GitHub (
gh auth login). - Завершенная пакетная оценка (рекомендуется), если агент будет использовать результаты оценки в качестве контекста планирования.
Подсказка
Пакетная оценка не требуется, но обычно она создает более точные и практические планы, так как агент может ссылаться на обнаруженные проблемы и возможности миграции.
Настройка репозиториев
Агент модернизации поддерживает несколько способов указания репозиториев, которые вы хотите запланировать:
- Текущая папка: создайте план проекта в текущем рабочем каталоге.
- Ввод вручную. Введите пути к локальному каталогу или удаленные URL-адреса Git напрямую.
- Файл конфигурации репозитория: используйте файл конфигурации JSON, который перечисляет все репозитории.
Файл конфигурации репозитория
Для пакетных операций во многих репозиториях создайте файл конфигурации JSON для перечисления всех репозиториев. Например, создайте его .github/modernize/repos.json в рабочем каталоге или укажите пользовательский путь.
Формат (массив репозиториев):
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/NewsFeedSite.git"
}
]
Каждая запись репозитория поддерживает следующие поля:
| Поле | Description | Обязательный |
|---|---|---|
name |
Понятное имя репозитория (используется в отчетах и панелях мониторинга). | Да |
url |
URL-адрес клонирования Git в формате HTTPS или SSH. | Одно из url или path |
Подсказка
Один и тот же repos.json файл можно использовать в рабочих процессах пакетной оценки, пакетного плана и пакетного обновления.
Агент модернизации автоматически обнаруживает repos.json файл .github/modernize/repos.json, когда вы выбираете опцию Из файла конфигурации в интерактивном режиме. Можно также указать пользовательский путь.
Как работает пакетный план
Процесс пакетного планирования:
- Выбор репозитория: выберите репозитории, которые вы хотите включить.
- Выбор контекста: при необходимости используйте доступные отчеты оценки в качестве входных данных.
- Определение запроса: опишите цель модернизации один раз и примените ее к репозиториям.
- Уточнение. Ответить на все последующие вопросы от агента.
- Создание плана: агент создает план для каждого выбранного репозитория.
Каждый созданный план сохраняется в целевом репозитории и может быть проверен или изменен перед выполнением.
Запустить пакетный план
После настройки репозиториев запустите процесс пакетного планирования.
Интерактивный режим
Запустите агент модернизации:
modernizeВыберите "План " в главном меню.
○ How would you like to modernize your app? Assess Analyze modernization readiness across one or multiple applications > Plan Generate a structured plan to guide the agent Execute Run the tasks defined in the modernization plan Or select a quick-start scenario: Upgrade Upgrade runtimes and frameworks across one or multiple applicationsВыберите способ указания целевых репозиториев. Выберите из файла конфигурации , чтобы использовать
repos.jsonфайл.○ Choose target repositories 1. Current folder /Users/username/project 2. Manual input Enter local path or remote URL > 3. From a config file /path/to/.github/modernize/repos.jsonПодсказка
Вы также можете выбрать Ввод вручную, чтобы напрямую ввести локальные пути или удалённые URL-адреса Git, либо Текущая папка, чтобы спланировать работу с проектом в текущем каталоге.
repos.jsonЕсли файл обнаружен в расположении по умолчанию, агент автоматически заполняет его. В противном случае введите путь к файлу конфигурации и нажмите клавишу ВВОД.По умолчанию выбраны все репозитории. Отмените выбор любых репозиториев, которые вы хотите пропустить, а затем нажмите клавишу ВВОД , чтобы подтвердить выбор.
- Используйте клавиши со стрелками для навигации и нажмите пробел для переключения отдельных репозиториев.
Выберите 1. Сохраните локальный план , чтобы создать планы на компьютере или выбрать 2. Отправьте в cloud Agent , чтобы создать их с помощью облачного агента. Вариант 2 является экспериментальным.
Введите имя плана или нажмите Enter, чтобы использовать вариант по умолчанию.
Введите цель модернизации в качестве запроса. Рассмотрим пример.
upgrade to Spring Boot 3 and prepare for Azure deploymentmigrate the database to Azure PostgreSQLcontainerize the application and deploy to Azure Container Apps
Нажмите клавишу ВВОД , чтобы создать планы.
Агент автоматически:
- Клонирует каждый выбранный репозиторий или отправляет задание в облачный агент для каждого репозитория.
- Создает план локально для каждого репозитория или PR с этим планом для каждого репозитория.
Дальнейшие действия
После завершения пакетного плана просмотрите планы и выполните их с помощью execute команды:
Предоставьте отзыв
Если у вас есть отзывы о пакетном плане или агенте модернизации, создайте проблему в репозитории github-copilot-appmod или используйте форму обратной связи о модернизации GitHub Copilot.