Upload
positive-hack-days
View
188
Download
7
Embed Size (px)
Citation preview
Интеграция TeamCity и сервера символов
Соловьев АлексейСтарший программист отдела технологий
разработки (DevOps)[email protected]
www.linkedin.com/in/aasolovyev
Что такое символы?
Отладочные символы – это информация, которую компилятор
генерирует автоматически на основе исходных кодов
Символы могут быть:
- включены в состав бинарного файла
- представлены в виде отдельного файла
- отброшены на этапе компиляции
Для чего нужны символы отладочной информации?
- Содержат отладочную информацию о бинарном файле (имена переменных, функций и т.п.)
- Помогают при поиске ошибок в коде
- Необходимы при разборе дампов и дебаге
Проблемы
- Встроенный сервер символов в TeamCity не умеет
работать с бинарными файлами
- Отсутствие отлаженного механизма хранения символов
- Нехватка места на текущем сервере символов
- Публикация символов многокомпонентных продуктов
С помощью чего решаем
- Сервер с OS Windows Server
- Symstore.exe для выкладывания символов на сервер
- Разработанный метараннер для TeamCity
Результаты
- На сервере символов создано два каталога:
- Release Symbols - символы для релизных сборок, которые требуется хранить долго
- Symbols - для символов девелоперских сборок
- Решили проблему нехватки места:
каталог с девелоперскими символами чистится скриптом, запускаемым планировщиком
(скрипт удаляет все файлы, старше N дней из определенного каталога сервера символов)
- Метараннер для TeamCity, который умеет работать со всеми бинарными файлами,
встроен в процессы сборки многокомпонентных продуктов