mercurial: запуск удаленных регрессионных тестов автоматически при каждом коммите - PullRequest
5 голосов
/ 30 января 2012

Я фиксирую каждый раз, когда делаю какие-то изменения, которые, как мне кажется, могут работать: я не делаю подробного тестирования перед фиксацией.Кроме того, мои коммиты скоро будут автоматически отправлены в удаленный репозиторий .(Я единственный разработчик, и мне приходится добавлять функции или переписывать части кода много раз в день.)

Я бы хотел настроить удаленный компьютер для автоматического запуска регрессионных тестов всякий раз, когда я фиксируючто-нибудь;а затем отправьте мне по электронной почте отчет о различиях.

Какой самый простой способ настроить это?

Весь мой код написан на Python 3. Моя собственная система - Windows 7, ActiveState Python, TortoiseHG,и крыло IDE.Я могу настроить удаленный компьютер под Linux или Windows.Приложение полностью из командной строки, с вводом и выводом текста.

Ответы [ 2 ]

6 голосов
/ 30 января 2012

Используйте сервер непрерывной интеграции, такой как Buildbot или Jenkins , и настройте его для мониторинга хранилища.Затем запустите тесты, используя это.Buildbot написан на Python, поэтому вы должны чувствовать себя как дома.

Если вы считаете, что Buildbot или Jenkins опрашивают репозиторий расточительно (даже если hg pull использует очень мало ресурсов, когда нет новых наборов изменений)), то вы можете настроить хук changegroup в репозитории для запуска сборки на сервере CI.

2 голосов
/ 30 января 2012

Я бы порекомендовал настроить Buildbot .Вы можете настроить просмотр удаленного хранилища (поддерживается Mercurial) и автоматически запускать сборку при изменении хранилища.В вашем случае сборка будет просто запускать ваш набор тестов.

Его дисплей с водопадом позволяет вам увидеть, какие сборки потерпели неудачу и когда, по отношению к коммитам из репозитория.Он может даже уведомить вас с ошибочным коммитом, когда что-то сломается.

Jenkins - еще один вариант, поддерживающий большинство тех же функций.Есть даже варианты облачного хостинга, такие как ShiningPanda , которые могут разместить его для вас, и они предлагают бесплатное лицензирование для проектов с открытым исходным кодом.

...