In this presentation we will see how to create a CI pipeline for Puppet code that automates testing and deployment of Puppet code using Puppet Enterprise and GitLab CI. We will cover, with theoretical and live demonstration: - How to automate configuration of Puppet Code Manager and GitLab for Puppet code deployments - How to design a CI pipeline which involves different steps that cover: -- Syntax checks on Puppet manifests, yaml files, templates, Puppetfile... -- Lint checks on Puppet code -- Rspec-puppet based unit tests on modules and the whole control repo -- Catalog diff checks relevant to the nodes affected by the change -- Integration tests based on Vagrant Vms -- Gradual Rollout of Puppet code from canary nodes to all the production
Puppet user, modules author, trainer, book author and consultant for 10 years. Has seen Puppet evolving and maturing since version 0.2 times, implementing Puppet in several dozens of different infrastructures of variable kind and sizes. Still struggles to find the perfect reusable... Read More →