TeamCity: структура и описание рабочей директории сервера — BuildServer

Автор: | 30/11/2013
 

teamcity_logoПеревод официальной страницы руководства с небольшими поправками.

Общая структура рабочей директории сервера TeamCity:

$ tree -d -L 1 -a .BuildServer/
.BuildServer/
├── config
├── lib
├── plugins
└── system

Директория config содержит настройки проектов TeamCity. Директория system — логи сборок, артефакты и файлы базы данных HSQLDB.

Рассмотрим их более подробно.

~/.BuildServer/config/ — директория, в которой хранятся основные настройки самого сервера, проектов и конфигурации билдов

~/.BuildServer/config/_trash/ — резервные копии удалённых проектов.

~/.BuildServer/config/_notifications/ — шаблоны и настройки шаблонов уведомлений.

~/.BuildServer/config/_logging/ — настройки внешнего сервера логгирования (сам TeamCity по-умолчанию хранит логи в каталоге ../logs).

~/.BuildServer/config/projects — директория, в которой хранятся все настройки, относящиеся к проектам. Для каждого проекта имеется отдельный каталог. При этом иерархия проектов не относится к этой директории — все хранится в её корне.

~/.BuildServer/config/projects/<projectID> — директория, хранящая настройки проекта <projectID> (включая конфигурации билдов, но не хранящая настройки под-проектов иерархии. Директория _Root хранит настройки проекта ROOT.

~/.BuildServer/config/projects/<projectID>/buildNumbers — директория, в которой хранятся файлы <buildConfigurationID>.buildNumbers.properties, содержащие текущий номер билда для соответствующего проекта.

~/.BuildServer/config/projects/<projectID>/buildTypes — директория, содержащая файл <buildConfiguration или template ID>.xml с конфигурацией билда соответствующего проекта или настроек шаблона.

~/.BuildServer/config/projects/<projectID>/pluginData — директория для хранения опциональных настроек и настроек плагинов для соответствующего проекта. Другие настройки плагинов и вспомогательные настройки проекта, такие как дополнительные вкладки, хранятся в файле  plugin-settings.xml.

~/.BuildServer/config/projects/<projectID>/vcsRoots — директория, хранящая настройки VCS root в файле _<VcsRootID>.xml.

~/.BuildServer/config/projects/<projectID>/project-config.xml — основной конфигурационный файл проекта, содержащий так же информацию о конфигурации билда данного проекта.

~/.BuildServer/config/main-config.xml — общий файл конфигурации сервера.

~/.BuildServer/config/database.properties — файл конфигурации соединения с базой данных для TeamCity сервера.

~/.BuildServer/config/license.keys — файл лицензии.

~/.BuildServer/config/change-viewers.properties — настройки External Changes Viewer.

~/.BuildServer/config/internal.properties — файл настроек различных internal TeamCity properties. Должен быть создан вручную при необходимости.

~/.BuildServer/config/auth-config.xml — основной файл настроек аутентификации на сервере.

~/.BuildServer/config/ldap-config.properties — настройки LDAP-аутентификации.

~/.BuildServer/config/ntlm-config.properties — настройки Windows domain аутентификации.

~/.BuildServer/config/issue-tracker.xml — параметры интеграции issue tracker.

~/.BuildServer/config/cloud-profiles.xml — настройки «облака» (например —  Amazon EC2).

~/.BuildServer/config/backup-config.xml — настройки резервного копирования веб-интрефйса.

~/.BuildServer/config/roles-config.xml — файлы назначения разрешений для ролей пользователей.

~/.BuildServer/config/database.*.properties.dist — шаблоны настроек подключений к внешним серверам баз данных.

~/.BuildServer/config/*.dtdDTD файлы для  файлов конфигурации XML.

~/.BuildServer/config/.dist — шаблоны настроек по-умолчанию для соответствующих файлов, см. также тут>>>.

~/.BuildServer/plugins/ — директория для хранения внешних плагинов, которые должны быть запущены при старте TeamCity сервера. Структура плагинов описывается тут>>>.

~/.BuildServer/plugins/.upacked — директория, хранящая не распакованные плагины самого сервера. Нельзя вносить изменения во время работы сервера.

~/.BuildServer/plugins/.tools — создайте эту директорию для централизованного управления утилитами для buildAgent-ов. Любая директория или zip-архив в ней будут переданы всем активным build-агентам и помещены в директории <agent root>/tools этих агентов.

~/.BuildServer/system/ — директория для хранения результатов билдов. Содержимое генерируется самим сервером TeamCity и не предназначено для ручного редактирования.

~/.BuildServer/system/artifacts/ — директория для хранения собранных после билдов артефактов. Формат хранилища артефактов — <project ID>/<build configuration name>/<internal_build_id>. При необходимости — файлы в каждой директории билдов можно редактировать вручную.

~/.BuildServer/system/artifacts/*/.teamcity — директория в каталоге каждого билда, в которой хранятся скрытые артефакты.

~/.BuildServer/system/messages/ — директория хранения логов билдов во «внутреннем формате». Билд с ID internal id «xxxx» хранит свой лог в файле CHyy/xxxx.*, где «yy» — последние две цифры «xxxx«.

~/.BuildServer/system/messages/changes — директория для хранения изменений, вызванных внешними запусками. Имена файлов в директории содержат personal change id.

~/.BuildServer/system/pluginData/ — директория, в которой различные плагины могут хранить их данные.  Не рекомендуется удалять или изменять эту директорию и/или её содержимое.

~/.BuildServer/system/pluginData/audit/ — директория, содержащая историю изменения билд-конфигурации, используется для отображения этих изменений.

~/.BuildServer/system/pluginData/repositoryStates/ — директория, хранящая состояние VCS roots. Если удалить — TeamCity может не определить некоторые изменения состояния файлов в VCS.

~/.BuildServer/system/caches/ — директория для хранения кеша (содержимое репозитория VCS, индексы поисков и т.д.). Если нужно — можно удалить содержимое, данные будут автоматически восстановлены по мере необходимости. Очистку лучше производить при выключенном сервере.

~/.BuildServer/system/buildserver.* — набор файлов, относящихся к встроенной базе данных HSQLDB.

~/.BuildServer/backup — директория по-умолчанию для хранения резервных копий, созданных из веб-интерефейса. Файлы в ней не используются сервером и могут быть удалены вручную.

~/.BuildServer/lib/jdbc/ — директория, используемая сервером TeamCity для поиска драйверов баз данных. Создайте вручную при необходимости. Сам сервер не управляет файлами в этой директории, а только проверяет её на наличие *.jar файлов в поиске необходимых драйверов.