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