Deconstructing Travis
summary
Starts as one Rails app with Resque and grows into four deployable apps using Ruby 1.9.2 and JRuby, VirtualBox/Vagrant workers, RabbitMQ hub, a tiny Sinatra listener, and a shared travis_core gem. Infrastructure handles about 5,000 builds a day, 10,300 projects and 720,000 test runs per year across 10 GitHub projects. Changes include moving logging to message streams, separating concerns so workers can run disposable VMs, and a working private-repo (Travis Pro) pilot.
AI-written summary · about
chapters (19)
- 0:00Welcome
- 1:53Sponsors and Travis overview
- 3:38Audience and Travis purpose
- 7:21Origins and architecture
- 9:09Splitting worker from web server
- 10:32VirtualBox virtual machines
- 11:39RabbitMQ and JRuby scaling
- 13:46Infrastructure overhaul challenges
- 15:12Travis Listener for GitHub
- 16:38Service-oriented architecture
- 17:40Sharing code with Travis Core
- 19:26Architecture impact on features
- 20:52Pull request support added
- 23:37Future plans for logs and scaling
- 25:26Beyond VirtualBox to true VMs
- 26:52Travis Pro for private repos
- 27:54Acknowledgements
- 28:35Q&A on dependency management
- 29:39Fun interactions and closing








