Миграция TFS On-Premise в Visual Studio Online

Для команд, использующих собственный TFS перспектива использования сервиса Visual Studio Online выглядит очень заманчиво — не нужно обслуживать сервера, делать бэкапы и т.д. Но сервис Visual Studio Online существует относительно недавно и у многих проекты живут в собственных TFS. В этом случае можно выполнить миграцию данных.

Для миграции можно использовать утилиту от компании OpsHub. Пройдем последовательно шаги, необходимые для миграции проекта.

  1. Создаем новый аккаунт в VS Online.
  2. Создаем проект, который собираемся мигрировать. Имя проекта должно совпадать с именем проекта в старом TFS.
  3. Создаем в VS Online всех пользователей, которые присутствовали в старом TFS.
  4. Пользователь, который будет выполнять миграцию должен входить в группу Project Collection Service Accounts. Если текущий пользователь не входит в эту группу, нужно его добавить туда (Control PanelProjectSecurityUsers).

Миграция

Шаг 1: Утилита OpsHub неспособна мигрировать проект, в котором есть какая-либо кастомизация. Поэтому перед миграцией следует "очистить" исходный проект от каких-либо собственных дополнений.

Шаг 2: Устанавливаем и запускаем утилиту.

Шаг 3: Прежде всего следует предоставить информацию об исходном TFS и аккаунте в VS Online. Потребуется URL и имя пользователя.

Шаг 4: Следующим шагом будет создание миграции. Каждый проект переносится в рамках миграции. Для этого необходимо выбрать кнопку New Migration, указать исходный и целевой сервер и нажать Next.

Шаг 5: Следующим шагом следует указать что именно вы хотите мигрировать — содержимое бэклога, исходный код или то и другое.

Шаг 6: Следующий этап - выбор проекта для миграции. Здесь можно выбрать несколько проектов одновременно, но я бы не рекомендовал этот путь. На этом этапе пустой проект в VS Online с тем же именем уже должен быть создан.

Шаг 7: Следующим шагом вам нужно сопоставить пользователей старого TFS и пользователей VS Online. Если у вас большая команда, это, пожалуй, будет самым неприятным этапом. Тем не менее, пропустить этот шаг нельзя.

Шаг 8: После этого утилита миграции проведет полную проверку параметров миграции. Обычно этот процесс занимает несколько минут.

Шаг 9: Последним шагом вам будет предложено начать миграцию. Соглашаясь с этим вы запускаете процесс миграции. По опыту он достаточно ресурсозатратен и не быстр, поэтому наберитесь терпения.

Если в процессе что-то пошло не так, то всегда можно удалить проект из VS Online и начать проект заново.

К сожалению, этот способ не работает с большими проектами, где большие бэклоги и кодовые базы. В нашем случае утилита просто съедала весь память и CPU и отказывалась работать. В таких, более сложных случаях, придется придумывать какие-то обходные пути. Ну а для небольших проектов этот способ вполне подойдет.