puppet test driven development with travis ci and docker

16
Puppet Test Driven Development with Travis CI and Docker Raphaël Pinson & Mickaël Canévet

Upload: raphael-pinson

Post on 10-Jan-2017

546 views

Category:

Software


0 download

TRANSCRIPT

Puppet Test Driven Developmentwith Travis CI and Docker

Raphaël Pinson & Mickaël Canévet

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

7/16www.camptocamp.com /

Red, Green, Refactor

8/16www.camptocamp.com /

Puppet TDD module dev demo

9/16www.camptocamp.com /

Travis CI integration

10/16www.camptocamp.com /

Travis CI integration

11/16www.camptocamp.com /

Continuous Deployment to the Forge

12/16www.camptocamp.com /

Continuous Deployment to the Forge

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

■ …

14/16www.camptocamp.com /

Questions ?

15/16www.camptocamp.com /

Join us !

We are hiring !