Привет, Хабр! Недавно вышла новая версия TeamCity – 2018.2! CI/CD сервер от JetBrains становится лучше и краше с каждым релизом, и этот раз не исключение.
Посмотреть на полный список изменений можно в документации, а здесь я остановлюсь на самых сочных фичах этого релиза.
Сборка GitHub Pull Requests
Работать с пул-реквестами TeamCity умел и ранее, но в 2018.2 добавилась возможность настроить фильтрацию пул-реквестов по авторам и по целевой ветке. При фильтрации по авторам можно ограничиться членами вашей GitHub-организации, внешними участниками, или открыть для всех.
С связке с Commit Status Publisher (который тоже входит в базовую поставку TeamCity) можно настроить ваш CI-сервер автоматически собирать пул-реквесты от, скажем, внешних авторов и публиковать статус билда обратно в GitHub. Получается красивая история: смотрите ее в действии в этом видео от antonarhipov:
Вторичный сервер для масштабирования инсталляции
TeamCity всегда отличался хорошей масштабируемостью и умением держать высокую нагрузку в условиях крупных инсталляций, в которых счет идет на сотни агентов, десятки тысяч конфигураций и сотни тысяч билдов в месяц. Тем не менее, мы продолжаем работать над улучшениями в этом направлении.
В TeamCity 2018.2 можно добавить вторичный сервер, который берет на себя взаимодействие с системами контроля версий: поллинг, обработка commit hooks, скачивание изменений и их запись в базу данных.
Улучшения в работе с плагинами
Теперь можно просматривать репозиторий плагинов непосредственно из админки TeamCity и напрямую устанавливать их оттуда на сервер в один клик (почти магия). Кроме того, после установки плагина теперь не требуется перезагружать сервер!
Скриншоты в результатах тестов
К результатам теста теперь можно прикреплять скриншоты и другие метаданные: ссылки, логи, артефакты, числовые значения и текст. Для числовых значений TeamCity сам добавляет график их изменения от теста к тесту.
Просмотр Kotlin DSL в интерфейсе
Полезное нововведение для тех, кто хочет научиться описывать настройки TeamCity в DSL на Kotlin, — теперь прямо в UI TeamCity есть кнопка `View DSL`, при нажатии которой будет показан DSL-код всей конфигурации с подсветкой текущего элемента.
Так это выглядит в действии:
Автоматическое назначение инвестигаций
Используя набор эвристик, TeamCity теперь умеет определять пользователя, коммит которого скорее всего привел к падению билда. И предлагает назначить расследование (инвестигацию) проблемы на этого пользователя. Кроме того, можно настроить автоматическое назначение инвестигаций.
Множественные фиды NuGet
TeamCity 2018.2 позволяет подключить несколько NuGet-фидов для одного проекта. Они могут использоваться билдами проекта и всех его подпроектов для публикации пакетов. Кроме того, добавлена поддержка NuGet API v3.
Записывайтесь на вебинар Антона Архипова про новые фичи TeamCity 2018.2, который пройдет 8 января 2019 года.
Загрузить (а также запустить на AWS, в Azure или из Docker-контейнера) последнюю версию TeamCity 2018.2 можно с нашего сайта. Замечания и предложения по новой версии оставляйте в нашем баг-трекере.
Все новые фичи можно попробовать без загрузки и установки сервера, используя TeamCity TestDrive — бесплатный тест-драйв TeamCity в облаке.
Напоминаем, что бесплатная версия – TeamCity Professional – дает 100 билд конфигураций и 3 билд-агента, без ограничений по времени и функциональности.
Удачных сборок!