О миграциях из Azure DevOps Cloud
Вы можете использовать GitHub Enterprise Importer для миграции репозиториев с Azure DevOps в GitHub Enterprise Cloud (GitHub.com или GHE.com).
Вы можете использовать только GitHub Enterprise Importer для миграции из Azure DevOps облака, а не из Azure DevOps Server. Если вы сейчас используете Azure DevOps Server и хотите перейти на GitHub, вы можете сначала перейти в Azure DevOps Cloud. Для получения дополнительной информации смотрите Migrate to Azure DevOps на сайте Azure.
Прежде чем создавать корпоративный аккаунт GitHub, решите, будет ли ваше предприятие использовать Enterprise Managed Users. Это влияет на то, как ваши участники проходят аутентификацию и как вы управляете идентификацией и доступом. См . раздел AUTOTITLE.
Чтобы узнать больше о различиях между GitHub и Azure DevOps, см. Ключевые различия между Azure DevOps и GitHub.
Поддержка Azure Pipelines и Azure Boards
И Azure Pipelines, и Azure Boards можно полностью интегрировать с вашим опытом <c0 / >. Вы можете настроить корпоративный аккаунт и Azure DevOps так, чтобы продолжать пользоваться этими сервисами, при этом получая выгоду от размещения репозиториев на GitHub.
Если вы хотите перенести Azure Pipelines на GitHub Actions, свяжитесь с вашим GitHub аккаунт-менеджером.
Данные, перенесенные
GitHub Enterprise Importer в настоящее время поддерживает миграцию следующих данных репозитория из Azure DevOps в GitHub Enterprise Cloud.
- Источник Git (включая журнал фиксаций)
- Запросы на слияние
- Журнал пользователей для запросов на вытягивание
- Ссылки рабочих элементов на запросы на вытягивание
- Вложения при запросах на вытягивание
- Политики ветви для репозитория (политики филиалов с областью действия пользователя и политики межрепличной ветви не включены)
Ограничения для перенесенных данных
Существуют пределы того, что GitHub Enterprise Importer может мигрировать. Некоторые из них обусловлены ограничениями GitHub, другие — ограничениями GitHub Enterprise Importer сами по себе.
Ограничения GitHub
-
**Ограничение размера 2 ГиБ для одного коммита Git:** Размер отдельного коммита в репозитории Git не должен превышать 2 ГиБ. Если размер любого из ваших коммитов превышает 2 ГиБ, вам нужно будет разделить коммит на более мелкие коммиты, каждый из которых имеет размер 2 ГиБ или меньше. -
**Ограничение в 255 байт для ссылок на Git:** Ни одна ссылка на Git, обычно называемая «ref», не может иметь имя больше 255 байт. Обычно это означает, что ваши ссылки не могут превышать 255 символов, но любые не-ASCII символы, такие как эмодзи, могут потреблять более одного байта. Если какая-либо из ссылок на Git слишком велика, мы вернем четкое сообщение об ошибке. -
**Ограничение на размер файла 100 МиБ:** После завершения миграции размер отдельного файла в репозитории Git не должен превышать 100 МиБ. Во время миграции репозитория этот лимит увеличивается до 400 МиБ. Рассмотрите возможность Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) хранения больших файлов.
Ограничения GitHub Enterprise Importer
- Ограничение размера 40 ГБ для репозитория Git (public preview): это ограничение применяется только к исходному коду. Чтобы проверить, превышает ли архив репозитория ограничение, используйте средство git-sizer и просмотрите общий размер большого двоичного объекта в выходных данных. Средство git-sizer также помогает определить потенциальные проблемы, связанные с большими файлами, размером больших двоичных объектов, размером фиксации и числом деревьев, которые могут повлиять на миграцию.
-
**Ограничение размера файла до 400 МиБ:** При миграции репозитория с GitHub Enterprise Importer, ни один файл в вашем Git-репозитории не может быть больше 400 МиБ. Рассмотрите возможность Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) хранения больших файлов. -
** Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) объекты, не мигрированные:** Они Importer могут мигрировать в репозитории, использующие Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git), но сами объекты LFS не будут мигрированы. Их можно отправить в место назначения миграции в качестве последующей задачи после завершения миграции. -
**Функции поиска отложенного кода:** повторное индексирование индекса поиска может занять несколько часов после переноса репозитория, а поиски кода могут возвращать непредвиденные результаты до завершения повторной индексации. -
**Наборы правил, настроенные для вашей организации, могут привести к сбою миграции:** например, если вы настроили правило, требующее адреса электронной почты для автор фиксации `@monalisa.cat`заканчиваться, а репозиторий, с которым вы переносите, содержит фиксации, которые не соответствуют этому правилу, миграция завершится ошибкой. -
**Содержимое манекена может быть недоступен для поиска:** Манекены являются заполнителями пользователей, к которым связан импортированный контент (например, проблемы, запросы на вытягивание, комментарии и т. д.). При поиске содержимого, связанного с манекеном, например назначенными проблемами, проблемы могут быть не найдены. После восстановления манекена содержимое должно быть найдено с помощью нового владельца.