Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Continuous Integration System for a Python Codebase

I am starting to work on a hobby project with a Python codebase and I would like to set up some form of continuous integration (i.e. running a battery of test-cases each time a check-in is made and sending nag e-mails to responsible persons when the tests fail) similar to CruiseControl or TeamCity.

I realize I could do this with hooks in most VCSes, but that requires that the tests run on the same machine as the version control server, which isn't as elegant as I would like. Does anyone have any suggestions for a small, user-friendly, open-source continuous integration system suitable for a Python codebase?

like image 733
Matt Avatar asked Aug 02 '08 18:08

Matt


People also ask

What is CI in Python?

Continuous integration (CI) is the practice of frequently building and testing each change done to your code automatically and as early as possible.

How do I use CI CD in Python?

Setting up a Python CICD Pipeline To get started, you'll have to configure your tool for Python applications. Most tools will offer a variety of application formats or templates. Of course, you'll connect to GitHub to source your code from your source repository, and then use pip to install any dependent packages.

What is CI CD in Django?

For example, let's say you have a production branch, you can set up a CI pipeline to automatically build, test and push the app to the production repository every time new changes are committed. CD which stands for continuous delivery/deployment automizes the next stages of our app, which is deployment to production.


2 Answers

We run Buildbot - Trac at work. I haven't used it too much since my codebase isn't part of the release cycle yet. But we run the tests on different environments (OSX/Linux/Win) and it sends emails — and it's written in Python.

like image 120
nlucaroni Avatar answered Sep 21 '22 12:09

nlucaroni


One possibility is Hudson. It's written in Java, but there's integration with Python projects:

Hudson embraces Python

I've never tried it myself, however.

(Update, Sept. 2011: After a trademark dispute Hudson has been renamed to Jenkins.)

like image 41
Joe Shaw Avatar answered Sep 19 '22 12:09

Joe Shaw