TeamCity 2023.11: матричные сборки, кэширование сборок и многое другое

В TeamCity 2023.11 появилось много функций, которые наши пользователи давно ждали, в том числе матричные сборки и кэширование сборок. Все это упростит настройку сборок.

Расширенная интеграция с платформами Git-хостинга, в том числе с GitHub, GitLab, Bitbucket и Azure DevOps, упрощает выбор вариантов аутентификации.

Благодаря полностью переработанному интерфейсу плагинов для EC2 и S3 стало проще работать с этими сервисами Amazon.

Подробнее о новых возможностях — ниже.

Представляем матричные сборки

Изображение «Матричные сборки»

Благодаря появлению этой функции теперь в TeamCity можно задать комбинацию параметров и их значений, создав матрицу сборок. Каждая комбинация значений параметров генерирует уникальную сборку. После этого создается матричная сборка, куда входят несколько параллельно запущенных сборок.

Матричные сборки особенно удобны при тестировании ПО в разных конфигурациях, например в разных операционных системах или версиях браузера.

Подробнее о матричных сборках — в документации.

Кэширование сборок: CI/CD должен быть экономным

Кэширование сборок: CI/CD должен быть экономным

Считается, что в CI/CD-пайплайнах лучше и безопаснее использовать одноразовые билд-агенты. Однако это связано с рядом сложностей.

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

Больше так делать не нужно.

Кэширование сборок поможет оптимизировать время выполнения CI/CD: все файлы, от которых зависит проект, скачиваются один раз, а затем используются по мере необходимости.

Подробнее о кэшировании сборок — в документации.

Уносимся в облака: обновлены плагины EC2 и S3

Уносимся в облака: обновлены плагины EC2 и S3

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

Теперь вы можете использовать инстансы EC2 для Mac, запускать билд-агенты на спотовых инстансах AWS EC2, используя показатели размещения спотов, и многое другое.

Кроме того, плагин S3 получил новый, более простой и интуитивно понятный интерфейс. Он позволяет удобно работать как с корзинами Amazon S3, так и с S3-совместимыми хранилищами.

Подробнее читайте в документации.

TeamCity: к работе с Git-хостингами всегда готов

TeamCity предлагает тесную интеграцию с платформами Git-хостинга, включая GitHub, GitLab, Bitbucket (как Cloud, так и Data Center) и Azure DevOps.

GitHub

В версии 2023.05, мы добавили новый вариант подключения к GitHub: вместо традиционной аутентификации с помощью OAuth можно использовать GitHub Apps.

Начиная с версии 2023.11, установить такое подключение станет проще: вам больше не придется настраивать его вручную и регистрировать новые приложения в GitHub.

TeamCity: к работе с Git-хостингами всегда готов

Кроме того, теперь для аутентификации при установлении соединения через GitHub App можно также использовать безличные обновляемые токены на страницах настройки Commit Status Publisher, Pull Requests и баг-трекера GitHub.

GitLab

Начиная с версии 2023.11, можно настроить TeamCity так, чтобы он игнорировал черновики merge-реквестов в функции сборки Pull Requests для GitLab.

GitLab

Функции Commit Status Publisher и Pull Requests для GitLab-репозиториев теперь используют для аутентификации обновляемые токены OAuth.

Поддержка обновляемых токенов при аутентификации

Функции Commit Status Publisher и Pull Requests для GitLab-репозиториев теперь могут использовать для аутентификации обновляемые токены приложений.

Azure DevOps

Новая версия TeamCity поддерживает обновляемые токены OAuth для функций сборки Commit Status Publisher и Pull Requests для Azure DevOps.

Подробнее читайте в документации.

Bitbucket Cloud

В этой версии мы расширили возможности аутентификации в Bitbucket.

Помимо паролей приложения и аутентификации по учетным данным корня VCS, TeamCity поддерживает также обновляемые и постоянные токены доступа в качестве способа аутентификации в рамках функции сборки «Pull Requests» для Bitbucket Cloud.

Bitbucket Server / Data Center

Теперь функция Pull Requests может использовать обновляемые токены OAuth для подключения к репозиториям Bitbucket Server / Data Center.

Подробнее читайте в документации.

Расширенная интеграция с Perforce Helix Swarm

Расширенная интеграция с Perforce Helix Swarm

Мы также улучшили существующую интеграцию Swarm и TeamCity. Она позволяет использовать в Swarm статусы сборки из TeamCity, а также переходить из интерфейса TeamCity в интерфейс Swarm.

Начиная с версии 2023.11, можно настроить публикацию TeamCity для функции сборки Commit Status Publisher в Perforce Helix Swarm, интегрировав ее с пользовательскими рабочими процессами, которые были настроены в Swarm ранее. Кроме того, Commit Status Publisher больше не требует учетных данных пользователей с правами администратора.

Теперь интеграцию в TeamCity можно настроить без использования учетных данных пользователей с правами администратора в Swarm. Обновленные возможности интеграции позволяют также включить в пользовательские рабочие процессы критерии качества, основанные на проверках TeamCity.

Подробнее читайте в документации.

Избранные пулы агентов

Улучшенная поддержка черновиков пул-реквестов в функции сборки Pull Requests

Теперь отдельные пулы агентов можно пометить как избранные и переходить к ним из одного места. Это удобно, если вам нужен доступ к пулам агентов, за которые вы отвечаете.

Безграничные возможности терминалов: удобный доступ к агентам

Безграничные возможности терминалов: удобный доступ к агентам

Доступ к агентам через терминал — уникальная функция TeamCity. Удаленный терминал, который можно открыть из интерфейса TeamCity, обеспечивает быстрый и удобный прямой доступ к машине агента. Функция работает на Linux и Windows (при использовании PowerShell) и macOS.

Начиная с версии 2023.11, вам не придется переключать вкладки, чтобы открыть терминалы, — они открываются на той же странице интерфейса TeamCity.