
Взгляд на обновление Team Foundation Server 2017
Автор: Дмитрий Чехлов, художник по освещению и затенению, автор книги «Визуализация в Autodesk Maya: mental ray renderer», технический специалист в области компьютерной визуализации и САПР, Autodesk Certified Professional, участник программ Autodesk Developer Network, Autodesk Expert Elite и NVIDIA Partner Network.
Как участнику программы Autodesk Developer Network* для разработки своих решений и консультации технических директоров мне нужно знать, какие инструменты и библиотеки используются компанией при создании ПО, что нового есть на рынке и что из этого нового реально полезно и стоит потестить.
Из недавнего, обновления Team Foundation Server 2017 Update 1, – краткий обзор того, что «зацепило».
Общее описание платформы TFS
Team Foundation Server (TFS) предоставляет функции управления исходным кодом, создания отчетов, управления запросами, управления проектами (по принципам разработки программного обеспечения Agile и методологии водопада), автоматизации сборок, управления лабораторными средами (lab management), тестированием и управлением выпусков. Серверная платформа охватывает весь жизненный цикл приложения и предоставляет возможности для DevOps. Серверная платформа может быть использована в качестве back-end для многочисленных IDE но предназначена в первую очередь для платформ Microsoft Visual Studio и Eclipse.
Team Foundation Server 2017 Update 1
С анонсом Microsoft Visual Studio 2017 корпорация Microsoft представила обновление платформ Team Foundation Server 2017 Update 1. Обновление продолжает тенденции развития инструментов для управления жизненным циклом программного обеспечения и предоставляет ряд важных нововведений, значительно упрощающих работу команд разработчиков и управление платформой в целом.
Меня заинтересовали возможности для организации проектов, с которыми работают разработчики, добавленные в TFS с обновлением для персонализации управления репозиториями и данными проекта. Управление версиями получило дополнительные возможности для работы с правами доступа и администрирования, улучшения политик ветвей и улучшения в поиске.
Процесс сборки приложений получил ряд обновлений в определении откатов для сборок, отключении синхронизации и извлечения источников в сборке, а также добавлена поддержка версионности задач для определения сборок и выпусков. Это достаточно удобно, когда необходимо собирать несколько вариантов версий модулей расширения для различных версий программного обеспечения (например, Autodesk Maya 2015, 2016 и 2017).
Еще из нового и полезного: управление пакетами и интеграция с возможностями таких систем распределенного управления версиями, как Git, в package management добавляется Release Views. Это инструмент управления подмножеством версий пакетов в вашей выдаче. Создание представления о выпуске и его совместное использование с пользователями пакета, контроль, от каких версий они зависят.
С обновлением TFS получил и новые возможности в работе с множеством платформ, например над проектами, которые ведутся как на Windows, так и macOS. Теперь можно форматировать вывод отчета из xcodebuild с применением xcpretty. Задачи Xcode поддерживают создание ваших проектов с использованием автоматической подписи Xcode 8. Можно установить профили сертификатов и профилей на сервере сборки вручную или определить задачу путем определения параметров File Contents.
Поработали и над тестированием. Используя задачи Deploy Test Agent и Run Functional Tests в рабочем процессе CI/CD, теперь можно устанавливать Test Agents для Visual Studio 2017 и запускать тесты которые были разработаны с использованием новейшей версии Visual Studio.
Стало возможным проверять ошибки с помощью перезапуска тестов, которые идентифицируют ошибку. Можно вызывать настройки Verify из контекстного меню формы рабочего элемента ошибки, чтобы запустить соответствующий тестовый пример в web runner. Улучшите свои проверки, используйте web runner и обновите рабочий элемент ошибки напрямую из web runner. При использовании REST вы можете использовать помощники-клиенты для операций Test Step.
В Web Runner стало возможным обновлять существующие ошибки. В дополнение к созданию новых ошибок в Web Runner также можно обновлять существующую ошибку. Собираются все данные диагностики, действия в репозиториях и ссылки для отслеживания из текущей сессии, куда автоматически добавляется существующая ошибка.
Возможность удалять рабочие элементы уже была реализована, за исключением тестовых артефактов и любых рабочих элементов, связанных с тестовыми артефактами. Благодаря обновлению TFS теперь можно навсегда удалять артефакты тестирования – планы тестирования, наборы тестов, тестовые примеры, общие параметры и общие шаги – как из Test hub, так и из Work hub, используя параметр Permanently delete контекстное меню в форме контекстного меню.
Параметры Test Impact Analysis для управляемых автоматизированных тестов теперь становятся доступны благодаря применению флажков.
Обширные возможности по управлению выпусками (Release Management) в TFS 2017 Update 1 получили несколько новых возможностей. Так, группы Varaible используются для группировки переменных и их значений, чтобы сделать их доступными для нескольких определений релиза. Если необходимо, чтобы релизы создавались больше одного раза в день, то теперь можно настроить несколько запланированных триггеров в определении релиза.
Очень востребованная мной в рабочей практике мощнейшая функция Code Search в TFS 2017 Update 1 теперь включает в себя версию Elasticsearch 2.4.1. Если служба Code Search настроена на сервере с TFS 2017, она будет обновляться в рамках обновления TFS. Если данная служба настроена на удаленном сервере, скопируйте содержимое пакета Code Search доступного в дистрибутиве на удаленный компьютер и следуйте инструкциям, чтобы обновить службу вручную.
Миграция на Visual Studio Team Services
Благодаря пошаговым руководствам по миграции можно импортировать всю базу данных TFS, так команда всегда работает в последней версии Visual Studio Team Services и пользуется службами разработчиков в Team Services.
Итог
Коротко об общих впечатлениях:
- работать над ПО реально удобно (одному, в команде, на удаленке);
- удачные обновления блоков: отчеты, управление сборками и тестированием, определение ошибок и управление ими, совместная работа нескольких групп и разработчиков.
Отдельного внимания заслужила и бесплатная версия TFS 2017 Express, на мой взгляд, идеально подходящая для работы небольших независимых команд разработчиков, чем и вызвала мой интерес к применению данной платформы в целом.
*Программа поддержки Autodesk Developer Network (ADN) предназначена для разработчиков программного обеспечения, которым необходимы проверенные технологии и инструменты, способные расширить базовые возможности продуктов Autodesk и помочь в создании эффективных решений для проектирования, дизайна и индустрии развлечений.