Category Archives: TeamCity

Continuous Integration сервер TeamCity

TeamCity: интеграция с Jira

04/06/2015
 

 Интеграция TeamCity с JIRA позволяет легко отслеживать состояние билдов по конкретным таскам. Выполняется с помощью плагина (платного) TeamCity Integration for JIRA. На удивление – не нашёл ни одного подробного HowTo, хотя задача наверняка была бы интересна многим. Важно: если TeamCity находится за каким-то сервером, например NGINX – ему потребуются дополнительные настройки для WebSocket. Начнём с TeamCity.

TeamCity: reverse proxy через NGINX на порт 80 и Some users cannot use optimized web UI updates via WebSocket protocol.

04/04/2015
 

 Вместо того, что бы ходить к TeamCity по адресу вида http://teamcity.domain.local:8111 – можно добавить NGINX, который будет проксировать запросы с порта 80 на порт 8111 TeamCity. Предполагается, что TeamCity уже установлен и настроен. Тут речь только о NGINX. В отличии от настройки для Bamboo – тут требуются дополнительные параметры для NGINX. Без этих параметров – TeamCity будет сообщать: Some users cannot use optimized… Read More »

TeamCity: SVN checkout загружает не все файлы/каталоги

03/05/2015
 

 После выполнения server side checkout – на агенте появляется только корневая директория, и одна вложенная, хотя должно быть намного больше, и в логе никаких ошибок нет. Решение – установить Enforce clean checkout в Actions билда:  

TeamCity: OutOfMemoryError: GC overhead limit exceeded

02/28/2015
 

 При выполнении автотестов – агент упал с ошибкой нехватки памяти для Garbage Collector: [00:13:57][com.service] at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:258) [00:13:57][com.service] … 89 more [00:13:57][com.service] Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded [00:13:57][com.service] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 25.558 sec <<< FAILURE! [00:13:59][com.service] Running com.HierarchyImportAutoTest

TeamCity: java.lang.IllegalStateException: Disk cache is not initialized. Call init() before using cache.

12/27/2014
 

 При запуске билда – билд-агент сообщает об ошибке: [13:00:29]Unexpected error: java.lang.IllegalStateException: Disk cache is not initialized. Call init() before using cache. [13:00:29]java.lang.IllegalStateException: Disk cache is not initialized. Call init() before using cache. at jetbrains.buildServer.artifacts.impl.DirectoryCacheProviderImpl.getHttpCache(DirectoryCacheProviderImpl.java:57) at jetbrains.buildServer.artifacts.impl.DependencyResolverImpl.createRuntimeConfiguration(DependencyResolverImpl.java:92) at jetbrains.buildServer.artifacts.impl.DependencyResolverImpl.resolve(DependencyResolverImpl.java:47) at jetbrains.buildServer.agent.impl.buildStages.startStages.DownloadDependenciesStage.doStage(DownloadDependenciesStage.java:67) at … … jetbrains.buildServer.agent.impl.BuildAgentImpl.access$100(BuildAgentImpl.java:48) at jetbrains.buildServer.agent.impl.BuildAgentImpl$1.run(BuildAgentImpl.java:221) at java.lang.Thread.run(Unknown Source)

CentOS: порядок выполнения init.d скриптов и приоритеты chkconfig

08/05/2014
 

 На сервере использовался запуск TeamCity одной строкой в файле /etc/rc.local: su -c teamcity ‘/home/teamcity/TeamCity/bin/runAll.sh start’ Но после перезагрузки – в логе TeamCity появились сообщения: [2014-08-05 13:17:23,402] ERROR – jetbrains.buildServer.SERVER – Unable to change status of build 23908 jetbrains.buildServer.serverSide.db.UnexpectedDBException: Attempting to determine database type SQL exception: Communications link failure Т.е. – MySQL запустился после того, как запустился… Read More »

TeamCity: мониторинг нагрузки BuildAgent-ов

12/14/2013
 

 Для отслеживания нагрузки на систему во время выполнения билдов BuildAgent-ами у TeamCity имеется встроенный инструмент – Performance Monitor. Он выводит результаты использования CPU, диска и оперативной памяти в удобном графике. Для его подключения к проекту – переходим в настройки проекта, раздел 3: Build Step, и кликаем на Add build feature:

TeamCity: миграция базы данных с HSQLDB на MySQL

12/07/2013
 

 База данных для TeamCity содержит информацию о результатах и истории сборок, историю изменений в VCS, список и настройки build-агентов, очередь сборок, аккаунты пользователей и их настройки. Официальное руководство по TeamCity говорит однозначно: > In short, do not EVER use internal HSQLDB database for production TeamCity instances. Потому – выполним миграцию на MySQL. Кроме того –… Read More »

TeamCity: восстановление сервера из резервной копиии с помощью утилиты maintainDB

12/03/2013
 

 Производим обычную установку до момента, когда появится предложение “Create Administrator Account“. Сам процесс установки описан в статье TeamCity: установка на CentOS. Находясь в директории, в которую был распакован архив (например – /home/setevoy/TeamCity/bin) останавливаем сервер: $ ./runAll.sh stop Останавливаем агент: $ ./../buildAgent/bin/agent.sh stop Копируем файл настроек подключения к базе данных (в примере используется HSQLDB) в отдельный… Read More »