Skip to main content

О живых миграциях с GitHub Enterprise Server на GHE.com

Как живые миграции минимизируют простои для разработчиков?

Кто может использовать эту функцию?

Чтобы использовать ELM, обновитесь до поддерживаемого GitHub Enterprise Server патча.

Минимальные версии: 3.20.2, 3.19.6, 3.18.9, 3.17.15.

Примечание.

Enterprise Live Migrations находится в public preview процессе и может измениться.

Что такое Enterprise Live Migrations?

          Enterprise Live Migrations (ELM) — это сервис для миграции репозиториев из GitHub Enterprise Server в GitHub Enterprise Cloud с размещением данных (GHE.com). Он управляется с помощью инструмента командной строки на GitHub Enterprise Server.

Миграции проходят «живые», потому что пользователи могут продолжать использовать исходный репозиторий на протяжении большей части процесса миграции. После первоначального сбора данных репозитория вебхуки проверяют изменения в репозитории, такие как новые коммиты или обновления настроек. Эти изменения сообщаются и ELM включаются в миграцию.

Миграция ELM включает в себя один репозиторий. Данные на уровне организации, такие как настройки организации, команды и проекты, не включаются в миграцию и должны быть перенастроены вручную на целевом предприятии.

Различия от GitHub Enterprise Importer

          ELM и GitHub Enterprise Importer (GEI) — это отдельные инструменты, которые поддерживают миграцию репозиториев из GitHub Enterprise Server в GHE.com.

Основные преимущества ELM следующие:

  • Сокращение простоя разработчиков: во время миграции с GEI разработчики теряют доступ к репозиторию на время миграции. Этот простой создаёт риски, такие как заблокированные развертывания или застой работы с функциями.
  • Поддержка монорепо: ELM способна мигрировать большие, сложные монорепо с глубокой историей. Они часто превышают вместимость GEI.
  • Лучшая видимость: ELM обеспечивает подробную видимость на уровне репозитория о ходе миграции, выявляя детализированные сбои, чтобы вы могли быть уверены, что мигрированный репозиторий является точной копией.

Однако из-за большего трафика, связанного с живыми обновлениями, ELM поддерживает меньше одновременных миграций, чем GEI: до 10 одновременных миграций репозитория из одного GitHub Enterprise Server экземпляра и 20 одновременных миграций на каждое предприятие назначения.

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

Обзор миграции

Обычно администратор сайта запускает миграцию с помощью elm инструмента CLI в сессии терминала через SSH. Оператор должен обеспечить personal access tokens доступ как GitHub Enterprise Server к обеим компаниям, так и к предприятию.

Основные этапы миграции включают:

  1.        **Создание**: Администратор сайта запускает команды CLI для создания и запуска миграции, указывая исходный репозиторий и назначение.
    
  2.        **Проверки до полета**: Сервис миграции проверяет параметры, токены, сетевую связь и конфигурацию репозитория.
    
  3.        **Заполнение**: ELM инструмент выполняет начальный скан, чтобы собрать все данные репозитория и отправить их в сервис миграции на целевой платформе. Во время фазы заполнения вебхуки проверяют актуальные обновления репозитория по мере продолжения миграции.
    
  4.        **Отключение**: исходный репозиторий заблокирован, и все финальные обновления в реальном времени отправляются на ELM. Это период простоя для разработчиков.
    
  5.        **Завершение**: Миграция завершена. Администратор сайта может проверить, что данные были успешно перенесены в игру.
    
  6.        **Последующие** действия: владелец организации выполняет последующие задачи на целевом предприятии, такие как перенастройка настроек организации и перераспределение активности пользователям.
    

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

Чтобы подготовиться к миграции, смотрите Подготовка к живой миграции с GitHub Enterprise Server на GHE.com.