hostprofi.ru
Подобрать хостинг
Термин·буква T

TeamCity

краткое определение

TeamCity — CI/CD платформа от JetBrains. Сервер автоматизации сборки и деплоя для корпоративной разработки. Поддерживает любые языки и платформы. Мощная система агентов, параллельная сборка, интеграция с IDE. Бесплатно для 3 агентов и 100 конфигураций.

TeamCity — CI/CD сервер от JetBrains (создателей IntelliJ IDEA, PyCharm). Позиционируется как enterprise CI/CD с фокусом на производительность: умное кеширование, параллельные сборки, инкрементальное тестирование (только изменившихся частей кода). Глубокая интеграция с IDE JetBrains.

Основные возможности

  • Build Chains — зависимости между сборками: тестирование → сборка → деплой.
  • Smart Tests Reorder — запускать сначала тесты, которые упали в прошлый раз.
  • Pre-tested Commits — проверить код до merge в основную ветку.
  • Агенты — build agents выполняют сборки. Можно добавить на Windows, Linux, macOS.
  • DSL-конфигурация — описание билдов в Kotlin DSL или XML.

Kotlin DSL пример

// .teamcity/settings.kts
project {
  buildType {
    id = BuildId("Deploy")
    name = "Deploy to Production"
    
    vcs { root(DslContext.settingsRoot) }
    
    steps {
      script {
        name = "SSH Deploy"
        scriptContent = """
          ssh deploy@server.com '
            cd /var/www && git pull && pm2 restart app
          '
        """
      }
    }
    
    triggers {
      vcs { branchFilter = "+:main" }
    }
  }
}

TeamCity vs GitHub Actions vs Jenkins

  • TeamCity — enterprise, платный для больших команд, мощный, JetBrains-интеграция.
  • GitHub Actions — бесплатный, простой, хорошо для GitHub-проектов.
  • Jenkins — open-source, максимальная гибкость, но требует настройки.

История

TeamCity выпущен JetBrains в 2006 году. Первая версия с веб-интерфейсом управления сборками. TeamCity 10 (2016) добавил .NET Core поддержку. TeamCity 2018 — Kotlin DSL. TeamCity Cloud (SaaS версия) — 2021. В 2024 году активно конкурирует с GitHub Actions и GitLab CI.

Связь с хостингом

TeamCity устанавливается на VDS как Java-приложение. Требования: Java 11+, 8 GB RAM для комфортной работы. TeamCity Server + Agent(s) на том же или отдельных серверах. Build agent может деплоить на prod-сервер через SSH или Docker. Бесплатная Professional версия: 3 агента, 100 конфигураций.

История TeamCity

TeamCity разработан JetBrains и выпущен в 2006 году. Написан на Java/Kotlin. Версия 2.0 появилась в 2007 году с поддержкой Maven. TeamCity 2018.1 — поддержка контейнеров и Kubernetes. TeamCity Cloud (SaaS-версия) запущена в 2021 году. Бесплатная версия: 3 агента сборки и 100 конфигураций. Конкурирует с Jenkins, GitHub Actions, GitLab CI. Особенность: SmartTests — запускает только тесты, затронутые изменениями кода.

TeamCity vs Jenkins vs GitHub Actions

ПараметрTeamCityJenkinsGitHub Actions
Язык конфигурацииGUI / Kotlin DSLGroovy/YAMLYAML
Умный запуск тестовда (SmartTests)нетнет
Отладка сборкипошаговаяограниченнаяограниченная
Стоимостьбесплатно/от $299/годбесплатнобесплатно/от $4/мес

Практическое применение TeamCity на хостинге

TeamCity Server устанавливается на отдельный VPS (минимум 4 GB RAM), агенты сборки могут быть на других серверах или в Docker-контейнерах. CI/CD pipeline: сборка → тесты → деплой через git deploy или SSH. Интеграция с Docker Registry для хранения артефактов сборки.

Типичные ошибки

  • TeamCity Server без бэкапа конфигурации — потеря истории сборок и настроек.
  • Агенты с разными версиями зависимостей — непредсказуемые сборки.
  • Не настроен cleanup build artifacts — диск заполняется историей сборок.

Другие термины