Старый запылённый сервер, соединённый светящейся цепочкой узлов с современной стойкой: обновление TFS до Azure DevOps Server

Azure DevOps Server RC (26H2): обновление с TFS 2015 и конец поддержки TFS 2017 12 января 2027 года

РубрикаСопровождениеУровеньСредний Чтение5 минОпубликовано ТегиAzure DevOps ServerTFSCI/CDНовости

Microsoft выпустила кандидат в релиз Azure DevOps Server 26H2 — локальной версии бывшего Team Foundation Server. В него перенесли функции облачной Azure DevOps, а обновиться можно напрямую с TFS 2015 и новее. Для команд с legacy-кодом на VB6 и VB.NET важнее другая дата: 12 января 2027 года TFS 2017 перестаёт получать обновления.

Главное. 27 октября 2026 года Microsoft выпустила Azure DevOps Server RC (26H2), кандидат в следующий релиз локальной версии Azure DevOps. Обновиться на него напрямую можно с любого Team Foundation Server начиная с 2015, а с RC потом можно перейти на финальную версию. TFS 2017 теряет расширенную поддержку 12 января 2027 года.

Анонс опубликовала Глоридель Моралес, старший технический менеджер программ Microsoft, в блоге Azure DevOps. В релиз перенесли из облачной версии четыре заметные функции: обновлённый интерфейс Azure Boards, целевые ветки в выпадающем списке пулл-реквеста, удобную отладку запусков пайплайнов и новый Test Run Hub. Кроме того, в релизе есть исправления безопасности и качества. Дату финального выпуска компания не назвала.

Для команд, которые сопровождают код на VB6, VB.NET и ASP.NET Web Forms, новость важнее, чем кажется. Такой код часто так и лежит на старом TFS в репозитории TFVC, рядом со сборками, настроенными лет десять назад. Обновление сервера стоит совместить с честным взглядом на то, что на нём собирается. Если приложение уже никто не берётся развивать, а своя команда занята инфраструктурой, проще заказать разработку под ключ у подрядчика: новая версия системы сразу получит нормальный пайплайн на обновлённом сервере. Ниже — что известно о релизе и как к нему подготовиться.

Что вошло в Azure DevOps Server RC (26H2)

Microsoft называет четыре главных изменения и подчёркивает, что это не полный список: подробности собраны в заметках о выпуске.

  • Azure Boards. Обновлённый интерфейс досок, который раньше был доступен только в облачной Azure DevOps Services.
  • Репозитории. В выпадающем списке веток при создании пулл-реквеста теперь видны целевые ветки.
  • Pipelines. Упавшие запуски пайплайнов стало проще отлаживать.
  • Тестирование. Новый Test Run Hub для работы с прогонами тестов.

Visual Studio Magazine в разборе релиза отмечает, что изменения затрагивают учёт задач, пулл-реквесты, разбор упавших пайплайнов и управление тестами. Отзывы о кандидате Microsoft собирает через Developer Community.

Кому обновляться и откуда

Прямое обновление до RC поддерживается с Team Foundation Server 2015 и всех более новых версий. С RC на финальный выпуск (RTW) тоже можно перейти напрямую. Если сервер работает на TFS 2013 или более старой версии, то по руководству Microsoft по обновлению его сначала переводят на TFS 2015 и только потом на Azure DevOps Server.

Срок задаёт TFS 2017: по карточке жизненного цикла его расширенная поддержка заканчивается 12 января 2027 года. После этой даты он не получит ни исправлений, ни технической поддержки, и Microsoft советует владельцам TFS 2017 и более ранних версий переходить на актуальный Azure DevOps Server. В тот же день поддержку теряют Windows Server 2016, IIS 10 на нём и .NET Framework 4.6.2 — подробно в нашей новости про Windows Server 2016. Часто TFS стоит как раз на такой машине, и тогда переезжать придётся и серверу, и системе контроля версий.

Ставить RC сразу на рабочий сервер не обязательно. Тем, кто ждёт финальной версии, Microsoft советует развернуть кандидат на тестовом стенде и проверить на нём свои коллекции, пайплайны и расширения.

Что проверить в legacy-проектах до обновления

Сам апгрейд сервера код не трогает: репозитории, история и рабочие элементы переезжают вместе с базами коллекций. Ломаются обычно сборки и всё, что вокруг них.

  • Старые определения сборок. Сборки формата XAML не поддерживаются начиная с TFS 2018. Если проект на VB6 или VB.NET до сих пор собирается так, определение придётся переписать на YAML или классический пайплайн.
  • Агенты сборки. Для VB6 нужен Windows-агент с установленной средой VB6, для .NET Framework 4.x — с подходящими Build Tools. Составьте список агентов и того, что на них стоит, до переезда.
  • Тесты. Test Run Hub пригодится, только если тесты вообще есть. Как добавить их к старому коду без переписывания, мы разбирали в статье о модульных тестах для legacy VB.NET.
  • Расширения и интеграции. Сторонние расширения и самописные скрипты, которые обращаются к API TFS, проверяйте на тестовом стенде.

Что делать до января

Короткий план: 1) выяснить версию своего TFS и ОС, на которой он стоит; 2) сделать полные согласованные резервные копии баз коллекций и конфигурации; 3) поднять тестовый стенд с Azure DevOps Server RC (26H2) и прогнать на нём обновление копии; 4) переписать сборки XAML и обновить агенты; 5) перенести боевой сервер до 12 января 2027 года. Если сервер на TFS 2013 или старше, заложите промежуточный шаг через TFS 2015.

Переезд сервера — удобный повод разобраться, что лежит в старых репозиториях и в каком оно состоянии. Для этого пригодится наш чек-лист аудита legacy-кода на VB.NET.

Вопросы и ответы

Можно ли обновиться на Azure DevOps Server 26H2 прямо с TFS 2013?

Нет. Прямое обновление поддерживается с TFS 2015 и новее. Сервер на TFS 2013 или более старой версии сначала переводят на TFS 2015, затем на Azure DevOps Server.

Стоит ли ставить RC на рабочий сервер?

Microsoft выдаёт RC для обновления, и с него можно напрямую перейти на финальный выпуск. Но если команда предпочитает дождаться RTW, компания советует сначала развернуть кандидат на тестовом стенде и проверить на нём свои коллекции и пайплайны.

Что будет с TFS 2017 после 12 января 2027 года?

Сервер продолжит работать, но Microsoft перестанет выпускать для него исправления и оказывать техническую поддержку. Уязвимости, найденные после этой даты, закрываться не будут.

Читайте также