company_banner

TeamCity 2018.2: поддержка GitHub Pull Requests, вторичный сервер, установка плагинов из репозитория, скриншоты в тестах

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


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

    JetBrains
    181,00
    Делаем эффективные инструменты для разработчиков
    Поделиться публикацией

    Комментарии 8

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

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

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

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое