The Butler and the Snake: Continuous Integration for Python
summary
Plone runs continuous integration on Jenkins for a 340‑core project with 8,500 unit/integration tests and about 70 acceptance tests, using buildout, virtualenv, tox, pytest/coverage and Robot Framework + Selenium (Sauce Labs). A small Python middleware called Mr Roboto maps commits to the right builds because multiple branches, Python 2.6/2.7/3.x and parallel jobs create many combinations. Early Jenkins had the build broken ~100% of the time; current runs take >1 hour and use slaves, Ansible provisioning, the port‑allocator plugin and zest‑releaser/devpi to aim for releaseable candidates on green.
AI-written summary · about
chapters (13)
- 0:00Intro
- 1:37Plone Testing
- 2:29Hudson / Jenkins
- 4:09Version Control
- 7:46Automated Build
- 10:47Agreement on the Team
- 12:16Broken Build
- 13:21Continuous Integration Rules
- 16:11Robot Framework / Saucelabs
- 17:49Static Code Analysis
- 19:43Scalability
- 24:49Release Process
- 27:41Summary
related talks
28mThe Butler and the Snake - Continuous Integration for Python
40mThe Butler Did It: Putting Jenkins To Work For You
23mJenkins as a Python execution platform
45mHighway to Continuous Integration
39mA Pythonic Approach to Continuous Delivery
28mBest Practices for Continuous Integration in Python V02
44mScaling Your Jenkins Jobs
39mIt's Not Called Continuous Integration (CI) for Nothing
