Каково ваше (простое) решение для непрерывной интеграции проектов Django? - PullRequest
2 голосов
/ 06 июля 2010

В одном из моих проектов Django у меня есть набор модульных тестов, основанных на классе TransactionalTestCase (это занимает намного больше времени, чем TestCase). Невозможно запускать тесты после каждого изменения в коде, потому что для выполнения всех тестов требуется более 0,5 часа. Некоторое время назад мы искали простой непрерывный инструмент интеграции , который мог бы позволить нам (по крайней мере) запускать тесты на тестовом сервере и отправлять электронные письма с ошибками членам команды (у нас, конечно, есть хранилище кода, и мы не не нужно автоматического развертывания в момент). У вас есть какие-нибудь рабочие решения или идеи, как это сделать?

Мы написали некоторый «супер-очень простой CI-сервер», который делает только тесты и отправку отчетов по электронной почте (он интегрирован с нашим хранилищем кода). Но поскольку в последнее время у нас возникли некоторые проблемы с нашим неидеальным простым инструментом, я задаюсь вопросом, успешно ли вы завершили подобные сценарии в своей рабочей среде?

Я ищу что-то легковесное, простое в установке и использовании.

Ответы [ 2 ]

6 голосов
/ 06 июля 2010

Отказ от ответственности: я не знаю Джанго.Но я знаю, что я использую Hudson в качестве инструмента непрерывной интеграции для ряда языков и платформ.Я нашел, что его легко установить и настроить как в Windows, так и в Linux (установить и забыть), и был впечатлен количеством доступных плагинов.

По сути, если то, что вы хотите сделать, может быть автоматизировано с помощью файла sctriptтогда вы можете использовать Гудзон.Это действительно стоит проверить.

Мне потребовалось всего несколько минут, чтобы настроить его, чтобы я получил электронное письмо, если и только если что-то пойдет не так, хотя вы можете сделать что-то еще (для чеготам, вероятно, существует плагин).Хадсон также хорошо работает с другими инструментами, такими как BigZilla, всеми основными инструментами контроля версий и т. Д.

1 голос
/ 06 июля 2010

Рассматривали ли вы два вида тестов - базовый и расширенный и добавление дополнительной команды django, которая будет выполнять только базовые тесты, которые будут быстрыми? Таким образом, вы можете выполнять базовое тестирование на небольших изменениях и запускать полный набор тестов только тогда, когда собираетесь зафиксировать / отправить изменения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...