Система непрерывной интеграции для Python Codebase

голоса
48

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

Я понимаю , что я мог бы сделать это с крючками в большинстве VCSes , но это требует, чтобы испытания работать на той же машине, что и сервер управления версиями, который не так элегантно , как хотелось бы. Кто - нибудь есть какие - либо предложения для небольшой, удобной, с открытым исходным кодом системы непрерывной интеграции , подходящих для Python кодового?

Задан 02/08/2008 в 19:43
источник пользователем
На других языках...                            


7 ответов

голоса
26

Одной из возможностей является Хадсон. Он написан на Java, но есть интеграция с проектами Python:

Хадсон охватывает Python

Я никогда не пробовал сам, однако.

( Update , сентябрь 2011: После спора торговой марки Хадсон был переименован в Дженкинс .)

Ответил 02/08/2008 в 19:56
источник пользователем

голоса
25

Бежим BuildBot - Trac на работе. Я не использовал его слишком много , так как мой кодовая не является частью цикла выпуска еще. Но мы проводим испытания на различных средах (OSX / Linux / Win) и отправляет электронные письма - и это написано в Python.

Ответил 02/08/2008 в 20:06
источник пользователем

голоса
17

Мы используем как BuildBot и Хадсон для развития Jython. Оба полезны, но имеют свои сильные и слабые стороны.

Конфигурация BuildBot является чисто Python и довольно просто, как только вы получите повесить его (смотрите на epydoc сгенерированный API документы для самой последней информации). Buildbot облегчает определение задач без тестирования и распространения тестеры. Тем не менее, это действительно не имеет понятия отдельных тестов, только текстовый, HTML, и суммарный выхода, так что если вы хотите иметь многоуровневый выход просматриваемого тестирования и так далее вы должны будете строить его самостоятельно, или просто использовать Хадсон.

Хадсон имеет потрясающую поддержку свертывания от общих результатов в тестовые наборы и отдельные тесты; он также отлично подходит для сравнения теста-вывода между строит, но распределенный (ведущий / ведомый) материал сравнительно более сложный, потому что вам нужна среда Java на рабах тоже; Кроме того, Хадсон менее терпим к слоеной сети связи между ведущей и ведомых.

Таким образом, чтобы получить преимущества обоих инструментов, мы запускаем один экземпляр Хадсона, который улавливает общие неудачи испытания, то мы делаем мультиплатформенный регрессии с BuildBot.

Вот наши примеры:

Ответил 15/09/2008 в 01:11
источник пользователем

голоса
17

Второму Buildbot - Trac интеграции. Вы можете найти более подробную информацию о интеграции на сайте BuildBot . В моей предыдущей работе мы писали и использовали плагин они упоминают (tracbb). Что плагин делает переписывание всех URLs BuildBot , так что вы можете использовать BuildBot изнутри Trac. ( Http://example.com/tracbb ).

Действительно хорошая вещь о том, что BuildBot конфигурация записывается в Python. Вы можете интегрировать свой собственный код Python непосредственно в конфигурации. Кроме того, очень легко писать свои собственные BuildSteps для выполнения конкретных задач.

Мы использовали BuildSteps, чтобы получить источник из SVN, дергать зависимости, публиковать результаты тестирования WebDAV, и так далее.

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

Ответил 03/08/2008 в 13:09
источник пользователем

голоса
7

Мы используем Укушенный которым интегрирован с ПРОФ. И это питон основе.

Ответил 16/09/2008 в 17:51
источник пользователем

голоса
6

TeamCity имеет некоторые Python интеграции .

Но TeamCity является:

  • не с открытым исходным кодом
  • не мало, а богатые функции
  • бесплатно для малых средних команд.
Ответил 22/09/2008 в 22:18
источник пользователем

голоса
5

У меня есть очень хороший опыт работы с Travis-CI для небольших кодовых баз. Основными преимуществами являются:

  • Установка производится менее чем за половину экрана конфигурационного файла
  • Вы можете сделать свою собственную установку или просто использовать бесплатную версию размещенного
  • полуавтоматическая установка для GitHub хранилищ
  • нет учетной записи необходимо на веб-сайте; войти в систему с помощью GitHub

Некоторые ограничения:

  • Python не поддерживается в качестве первого языка класса (по состоянию на момент написания, но вы можете использовать пип и APT-получить для установки зависимостей питона, см этого учебника )

  • код должен быть размещен на GitHub (по крайней мере при использовании официальной версии)

Ответил 02/02/2012 в 22:42
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more