Одним из ключевых аспектов непрерывной интеграции всегда является наблюдение за тем, как выполняются сборки, сбор важных метрик, документирование этих результатов и создание непрерывной обратной связи посредством непрерывных сборок.
Каковы преимущества наличия этих показателей?
-
Недостаточная фиксация кода — если разработчики не часто фиксируют код в репозитории контроля версий, причиной может быть медленная интеграция сборки. Чтобы начать сокращать продолжительность сборки, выполните высокоуровневый анализ среды сборки интеграции, чтобы определить узкие места.
Затем проанализируйте полученные данные и определите наиболее подходящее улучшение, затем попытайтесь внести изменения в процесс сборки, чтобы сократить продолжительность сборки. Наконец, переоцените продолжительность сборки, чтобы определить, необходимы ли дальнейшие улучшения.
-
Повышение производительности тестирования — даже в хорошо функционирующей системе CI большая часть времени сборки интеграции будет занимать выполнение автоматических тестов. Оценка и улучшение производительности этих тестов может значительно сократить продолжительность сборки.
-
Проблемы инфраструктуры — вы можете обнаружить, что интеграционные сборки выполняются медленно из-за системной инфраструктуры. Возможно, производительность сети низкая или имеется медленное соединение с виртуальной частной сетью.
Географически рассредоточенные системы и ненадежное аппаратное или программное обеспечение также могут вызывать проблемы с производительностью. Изучите и улучшите любые ресурсы инфраструктуры, чтобы сократить время сборки.
Недостаточная фиксация кода — если разработчики не часто фиксируют код в репозитории контроля версий, причиной может быть медленная интеграция сборки. Чтобы начать сокращать продолжительность сборки, выполните высокоуровневый анализ среды сборки интеграции, чтобы определить узкие места.
Затем проанализируйте полученные данные и определите наиболее подходящее улучшение, затем попытайтесь внести изменения в процесс сборки, чтобы сократить продолжительность сборки. Наконец, переоцените продолжительность сборки, чтобы определить, необходимы ли дальнейшие улучшения.
Повышение производительности тестирования — даже в хорошо функционирующей системе CI большая часть времени сборки интеграции будет занимать выполнение автоматических тестов. Оценка и улучшение производительности этих тестов может значительно сократить продолжительность сборки.
Проблемы инфраструктуры — вы можете обнаружить, что интеграционные сборки выполняются медленно из-за системной инфраструктуры. Возможно, производительность сети низкая или имеется медленное соединение с виртуальной частной сетью.
Географически рассредоточенные системы и ненадежное аппаратное или программное обеспечение также могут вызывать проблемы с производительностью. Изучите и улучшите любые ресурсы инфраструктуры, чтобы сократить время сборки.
метрика
Ниже приведены некоторые показатели, доступные на сервере непрерывной интеграции.
Давайте посмотрим, что может предложить TeamCity —
Одна из самых простых форм метрик — это то, что доступно на панели инструментов проекта. Ключевым элементом здесь является отметить продолжительность каждой сборки. Если продолжительность каждой сборки начинает непропорционально увеличиваться в зависимости от создаваемого кода, это может быть проблемой. Таким образом, это одна обратная связь, которая может быть принята, и причинами этого могут быть то, что серверу CI не хватает ресурсов и, возможно, необходимо увеличить емкость сервера.
TeamCity имеет возможность увидеть, действительно ли на сервере CI возникают какие-либо проблемы с инфраструктурой. На панели администратора в TeamCity можно щелкнуть « Использование диска», чтобы увидеть, сколько дискового пространства используется каждой сборкой.
Если требуется дополнительная информация, то в TeamCity есть кнопка диагностики , которая может предоставить дополнительную информацию о ЦП и памяти , используемых сервером CI.
Детальный просмотр метрик сборки
Если кто-то хочет видеть подробный вид сборок определенного проекта с течением времени, то он доступен как часть сборок проекта. На экране «Сборка проекта» перейдите к экрану «Статистика», который предоставит различные статистические данные и графики о том, как выполняется сборка.