Я думаю, вы задали довольно общий вопрос, поэтому здесь может быть множество возможных ответов. Один из вариантов, который я бы порекомендовал, исходя из личного опыта, - это Jenkins.
Jenkins - хороший набор инструментов для непрерывной интеграции. https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins Это довольно гибкий инструмент, и вы можете получить хороший набор различных плагинов. Установка / настройка довольно проста. Вы можете установить на свою машину linux / windows / ... Это дает вам власть и контроль над вашими автоматизированными заданиями.
Вы можете использовать Jenkins для целого ряда различных задач, которые хотите автоматизировать. * регулярные сборки и тестовые прогоны (хороший выбор плагинов для отчетов об ошибках сборки / управления и сборки / тестирования) * создание регулярных резервных копий, запуск регулярных или запускаемых тестов * проверка обновлений исходного кода и поддержание актуальности / чистоты рабочих областей * использование подключаемого модуля ssh для запуска автоматических задач на внешних машинах
Раньше я использовал его для задач в масштабе проекта и для индивидуальных задач разработчика.
Вы должны автоматизировать настройку теста, установить rpm и затем протестировать как сценарий или набор скриптов. Jenkins позволит вам управлять заданиями с помощью веб-интерфейса. Статус работы и отчеты о работе / тестировании доступны для просмотра через веб-интерфейс. Ошибки или отчеты, отправленные по электронной почте, или что-то еще.
Для дальнейшего чтения. . .
Непрерывная доставка: http://en.wikipedia.org/wiki/Continuous_deployment http://www.martinfowler.com/articles/continuousIntegration.html Я использовал круиз-контроль и buildbot в прошлом, но считаю, что они более ограничены, чем Jankins.
Эта запись в блоге кажется весьма актуальной для вашего вопроса: http://www.devops-blog.net/koji/installing-a-rpm-based-build-system Jenkins + ряд других инструментов