Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Puppet Continuous Integration with PE and GitLab

A presentation about the integrations between Puppet Enterprise and GitLab and how to use them to deliver Continuous Integration for Puppet changes.

  • Login to see the comments

  • Be the first to like this

Puppet Continuous Integration with PE and GitLab

  1. 1. PUPPET CONTINUOUS INTEGRATION
 WITH PE AND GITLAB A L E S S A N D R O F R A N C E S C H I 
 P U P P E T C O N F 2 0 1 7
  2. 2. @ A LVA G A N T E • CTO @ example42 GmbH • Puppeteer since 2006 • More Ops than Dev
  3. 3. A G E N D A • PE Code Manager Setup • Puppet CI: What? • GitLab CI: Where? • Demo
  4. 4. C O D E M A N A G E R P E
  5. 5. P E C O D E M A N A G E R S E T U P • Create SSH keys to deploy control-repo via r10k: • stored on PE server • added on GitLab (deploy keys)
 • Generate token to deploy code: • Create PE user with Code Deployer role • Request token as this user • On Gitlab: copy token to control-repo webhook
 • Configure on Hiera or PE console puppet_enterprise::profile::master r10k_remote: <repo_url>
 r10k_private_key: <private_key_path>
 code_manager_auto_configure: true
  6. 6. W H AT ? C I
  7. 7. P U P P E T C I : W H AT ? • syntax checks • lint checks • commit check (danger.systems) • site modules spec tests • control-repo spec tests • control-repo integration tests • catalog diff • verify code-deployment status • run Puppet on canary nodes • check canary nodes status • trigger noop runs in production • generate documentation • manage code promotion
  8. 8. W H E R E C I
  9. 9. G I T L A B C I : W H E R E ? • On control-repo: • .gitlab-ci.yml • stages • jobs • scripts • tags • On gitlab-runners: • ssh keys to fetch modules • tokens or credentials to access PuppetDB, Puppet Server, GitLab... • gems and packages used in jobs
  10. 10. D E M O
  11. 11. T H A N K Y O U G R A P H I C S B Y TAT L I N . N E T

×