Automating Community Code Contributions to Puppet with Ruby, GitHub, Heroku, Trello and Travis
Puppet Test Driven Development with Travis CI and Docker
-
Upload
raphael-pinson -
Category
Software
-
view
547 -
download
0
Transcript of Puppet Test Driven Development with Travis CI and Docker
2/16www.camptocamp.com /
Who are we ?
■ Raphaël Pinson○ @raphink
○ Infrastructure Developer & Training Leader
■ Mickaël Canévet○ @mickaelcanevet
○ Infrastructure Developer
3/16www.camptocamp.com /
Camptocamp
■ Swiss/French company
■ Open-source development/integration expert
■ ~ 60 employees
■ Puppet user and contributor since 2008
■ Main contributor to the Puppet Forge
4/16www.camptocamp.com /
Camptocamp Infrastructure Department
■ ~ 10 systems engineers
■ Fully Puppetized Workflow
■ Openstack/Docker/AWS/ELK
■ Puppet Labs / Red Hat / AWS partner
■ Activities :○ Hosting
○ Consulting
○ Development / Integration
○ Training
5/16www.camptocamp.com /
Test Driven Development Basics
■ 3 types of tests :○ Unit tests
○ Integration tests
○ Acceptance tests
6/16www.camptocamp.com /
Test Driven Development in Puppet
■ Unit tests○ catalog compilation and assertions
○ using rspec-puppet
■ Integration tests○ unit tests on profiles/roles
■ Acceptance tests○ catalog application and system assertions
○ using beaker and serverspec/specinfra
13/16www.camptocamp.com /
Other contributions to Puppet Ecosystem
■ Rspec-puppet-facts
■ Facterdb
■ Augeas / Augeasproviders
■ Catalog-diff-viewer
■ R10k-dashboard
■ Puppet-lint plugins
■ Puppet-ghostbuster
■ Puppetfile-updater
■ …