Перевод официальной страницы руководства с небольшими поправками.
Общая структура рабочей директории сервера 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/*.dtd
— DTD файлы для файлов конфигурации 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
файлов в поиске необходимых драйверов.