#testing #github #continuous-integration #cmake
#тестирование #github #непрерывная интеграция #cmake
Вопрос:
Мы ищем программное обеспечение для автоматического запуска наших тестовых примеров.
Нам нужно программное обеспечение, которое будет работать на нашем сервере (или коммерческом), которое автоматически получает новейший коммит на github. Затем компилирует коммит проекта с помощью CMake и запускает Ctest для наших тестовых примеров. Затем результаты должны быть визуализированы на хорошем веб-сайте.
Я посмотрел на CDash, но поскольку документация настолько плоха, я даже не смог получить ее, чтобы получить последнюю фиксацию с github.
Итак, мои вопросы:
- Есть ли хороший учебник по CDash? Кроме плохой вики-страницы.
- Какое программное обеспечение доступно для запуска тестов на новых коммит в github, каковы их преимущества и недостатки?
Ответ №1:
В ответ на ваш второй вопрос, Jenkins — это надежный и расширяемый инструмент непрерывной интеграции, который может быть тесно интегрирован с GitHub с помощью плагина (или свободно с помощью стандартной поддержки Git). Он также поддерживает CMake через подключаемый модуль. Есть ли у него недостатки, которые сделают его менее полезным для вас, зависит от вашей организации и процесса сборки, но я обнаружил, что он легко настраивается для самых разных процессов. Я рекомендую взглянуть на него.
Для Jenkins также доступен сторонний плагин Ctest.
Ответ №2:
CDash работает в паре с CTest. Если вы уже используете CMake, то должно быть довольно легко отправить результаты тестирования в CDash. Я бы рекомендовал прочитать документацию CTest:
http://www.vtk.org/Wiki/CMake_Testing_With_CTest
Вы можете либо установить свой собственный сервер CDash, либо использовать сервер Kitware, размещенный на my.cdash.org . Вы можете протестировать свой сервер с помощью примера проекта, доступного по адресу: