Thursday 5 November 2009 — This is 15 years old. Be careful.
Continuous integration is a great idea: you configure a server to periodically pull your source code, build it, run the tests, run lint, measure coverage, and so on. Then it graphs everything, stores the results for examination, and so on.
I’d been trying to figure out how to use the Hudson CI server with Python, and the few times I tried to get my mind around it, it just wasn’t clicking. I happened to mention my mental block to Joe Heck, and a few days later, he produced Setting up a Python CI server with Hudson. It’s a great step-by-step how-to covering everything you need to get Hudson going for a Python project.
Running through his guide finally cleared the last misconception for me: continuous integration isn’t a build tool or a test runner. You don’t run Hudson on your development machine. Sounds silly, but something needed to clear it up, and this was it.
Thanks, Joe!
Comments
I've been using hudson for a little while and I've actually patched the nose coverage plugin to give it an option called --cover-xml that gives you the cobertura coverage Joe mentions as part of the test run.
I had to do it this way as my test runner isn't a python module but a buildout produced script.
So my hudson build step lools like This is pretty nice as you only get what you're interested in looking at in the coverage report.
Would you like the diff?
Ben
Add a comment: