Привет, Хабр! Недавно вышла новая версия 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 билд-агента, без ограничений по времени и функциональности.


Удачных сборок!

Комментарии (5)


  1. therb1
    18.12.2018 19:55

    Подскажите, Teamcity уже имеет интеграцию с Active Directory, для предоставления прав через группы AD без шаманства с файлом config/ldap-mapping.xml и предсоздания групп «руками»?


    1. yegnau Автор
      18.12.2018 20:09

      В этой части ничего пока не поменялось.


    1. fishhead
      19.12.2018 13:44
      +1

      Мы запилили для этих целей синхронизатор


  1. BloodUnit
    19.12.2018 10:46

    Автоматическое назначение инвестигаций

    Эта фича работает если проблема не в упавшем тесте, а допустим, в синтаксисе?
    Для тестов всегда назначает на кого-нибудь, а для просто свалившегося билда не назначает даже на дефолтного юзера.


    1. yegnau Автор
      19.12.2018 13:44

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