SlideShare a Scribd company logo
Continuous Integration
with Puppet
Miguel Zuniga
Arch / Lead / Principal / Speaker
since v. 0.22.2
Agenda
● Continuous Integration
● How puppet can help us on CI?
● Puppet Environments = CI Environments
● Package, Test, Deploy
● Infrastructure as Code
● Puppet and CI
● Q&A
Continuous Integration
How puppet can help use on CI?
● Automate configuration of Infrastructure
● Automate package deployment
● Keep track of changes done at the infra layer
● Control where and when gets software setup
● Build server becomes… a build server.
Puppet Environments = CI Environments
● Development, Test, Production
● Drop your puppet code in SCM
● Let CI merge/squash puppet environments
● Provide an isolated view and a way to
duplicate the application environments as
many times as needed.
Package, Test, Deploy
● Always package your software (deb, rpm,
gem, pip)
● Use puppet package resources only
● NEVER DO
exec {
cmd => “install my war”
}
● Define one standard sequential numeric
version convention… v0.xxx and v124.0
● To automate deployment properly code
puppet using requires in a recursive way
class repo {
yumrepo {
name => “epel”
baseurl => “http://epel”
}
}
class mypackage {
require repo
package { “myapplication”: ensure => 1.2 }
}
node { include mypackage }
Infrastructure as Code
With puppet controlling your infrastructure:
● Infra becomes another Product just like any other
application
● Infra starts adding features and bugfixes
● Infra can align with the SDLC of your application
● Deploy to thousand of nodes with confidence
Puppet and CI
Puppet and CI
1. Developers submit application code to SCM
2. Ops submit infrastructure code to SCM
3. Build server pulls the application code, compiles it, creates the package and uploads it to the
repository
4. Build server pulls the infrastructure code, parses it, simulates it and merges the changes against
the target environment
5. Build server instructs the puppet master to pull specific tag of the target environment
6. Puppet master takes care of running the puppet code in the target environment, configure and
deploy the application
7. Testing framework can run once deploy is done.
8. Rinse and repeat
With puppet you are not compiling, packaging and deploying an application…
you are compiling, packaging and deploying your whole environment..
Q&A
Thank you
tweet @mike_zuniga
github.com/mikezuniga
G+ +miguelzuniga
Linkedin /in/miguelzuniga

More Related Content

PDF
Achieving Continuous Delivery with Puppet
PPTX
Continuous Integration with Puppet
PPTX
Continuous Delivery at Gogo with Spinnaker and Foremast
PDF
Continuous Integration for Spark Apps by Sean McIntyre
PPTX
Pipeline your pipelines!
PDF
Hadoop Summit 2013 : Continuous Integration on top of hadoop
PPTX
Developing and Testing with Enhanced Oscar
PDF
Puppet Camp Denver 2015: Developing and Testing with Enhanced Oscar
Achieving Continuous Delivery with Puppet
Continuous Integration with Puppet
Continuous Delivery at Gogo with Spinnaker and Foremast
Continuous Integration for Spark Apps by Sean McIntyre
Pipeline your pipelines!
Hadoop Summit 2013 : Continuous Integration on top of hadoop
Developing and Testing with Enhanced Oscar
Puppet Camp Denver 2015: Developing and Testing with Enhanced Oscar

What's hot (20)

KEY
Ruby and Rails Packaging to Production
PDF
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
PDF
Log monitoring with Logstash and Icinga
PPTX
PPTX
Smarter deployments with octopus deploy
PDF
ContainerCon - Test Driven Infrastructure
PDF
JUC Europe 2015: Plugin Development with Gradle and Groovy
ODP
Jenkins and rails app - Le Dinh Vu
PDF
Docker Best Practices Workshop
PPTX
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
PDF
GitLab - Java User Group
PDF
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
PDF
Master Continuous Delivery with CloudBees Jenkins Platform
PPTX
Kenzan Spinnaker Meetup
PDF
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
PDF
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
PDF
JUC Europe 2015: Jenkins Made Easy
PDF
Safe deployments with Blue-Green and Spinnaker
PDF
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
PDF
Docker based-Pipelines with Codefresh
Ruby and Rails Packaging to Production
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
Log monitoring with Logstash and Icinga
Smarter deployments with octopus deploy
ContainerCon - Test Driven Infrastructure
JUC Europe 2015: Plugin Development with Gradle and Groovy
Jenkins and rails app - Le Dinh Vu
Docker Best Practices Workshop
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
GitLab - Java User Group
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
Master Continuous Delivery with CloudBees Jenkins Platform
Kenzan Spinnaker Meetup
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Jenkins Made Easy
Safe deployments with Blue-Green and Spinnaker
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
Docker based-Pipelines with Codefresh
Ad

Similar to Puppet Camp Phoenix 2015: Continuous Integration Using Puppet (Intermediate) (20)

ODP
Continuous Delivery of Puppet Manifests
PPTX
Puppetizing Your Organization
KEY
Capistrano, Puppet, and Chef
PDF
Puppet Camp Dublin - 06/2012
KEY
Puppet for dummies - PHPBenelux UG edition
PPTX
Introduction to Puppet Scripting
PDF
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
PDF
Puppet and AWS is Easy...?
PPTX
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
KEY
Keynote Puppet Camp San Francisco 2010
PDF
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
PDF
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
PDF
Using Puppet - Real World Configuration Management
PDF
OSDC 2015: Matthias Klein | How to use Open Source Software to have near Prod...
KEY
Portable infrastructure with puppet
PDF
Puppet camp london nov 2014 slides (1)
PPTX
PDF
Puppet Keynote: Puppet Camp London
PDF
Puppet and Telefonica R&D
PDF
OSDC 2018 | Puppet and the Road to Pervasive Automation by Walter Gildersleeve
Continuous Delivery of Puppet Manifests
Puppetizing Your Organization
Capistrano, Puppet, and Chef
Puppet Camp Dublin - 06/2012
Puppet for dummies - PHPBenelux UG edition
Introduction to Puppet Scripting
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet and AWS is Easy...?
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Keynote Puppet Camp San Francisco 2010
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
Using Puppet - Real World Configuration Management
OSDC 2015: Matthias Klein | How to use Open Source Software to have near Prod...
Portable infrastructure with puppet
Puppet camp london nov 2014 slides (1)
Puppet Keynote: Puppet Camp London
Puppet and Telefonica R&D
OSDC 2018 | Puppet and the Road to Pervasive Automation by Walter Gildersleeve
Ad

More from Puppet (20)

PPTX
Puppet Community Day: Planning the Future Together
PPTX
The Evolution of Puppet: Key Changes and Modernization Tips
PPTX
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
PPTX
Bolt Dynamic Inventory: Making Puppet Easier
PPTX
Customizing Reporting with the Puppet Report Processor
PPTX
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
PPTX
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
PPTX
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
PDF
Puppet camp2021 testing modules and controlrepo
PPTX
Puppetcamp r10kyaml
PDF
2021 04-15 operational verification (with notes)
PPTX
Puppet camp vscode
PDF
Modules of the twenties
PDF
Applying Roles and Profiles method to compliance code
PPTX
KGI compliance as-code approach
PDF
Enforce compliance policy with model-driven automation
PDF
Keynote: Puppet camp compliance
PPTX
Automating it management with Puppet + ServiceNow
PPTX
Puppet: The best way to harden Windows
PPTX
Simplified Patch Management with Puppet - Oct. 2020
Puppet Community Day: Planning the Future Together
The Evolution of Puppet: Key Changes and Modernization Tips
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Bolt Dynamic Inventory: Making Puppet Easier
Customizing Reporting with the Puppet Report Processor
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet camp2021 testing modules and controlrepo
Puppetcamp r10kyaml
2021 04-15 operational verification (with notes)
Puppet camp vscode
Modules of the twenties
Applying Roles and Profiles method to compliance code
KGI compliance as-code approach
Enforce compliance policy with model-driven automation
Keynote: Puppet camp compliance
Automating it management with Puppet + ServiceNow
Puppet: The best way to harden Windows
Simplified Patch Management with Puppet - Oct. 2020

Recently uploaded (20)

PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
L1 - Introduction to python Backend.pptx
PDF
Digital Strategies for Manufacturing Companies
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
System and Network Administraation Chapter 3
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Nekopoi APK 2025 free lastest update
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
System and Network Administration Chapter 2
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
L1 - Introduction to python Backend.pptx
Digital Strategies for Manufacturing Companies
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
System and Network Administraation Chapter 3
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
wealthsignaloriginal-com-DS-text-... (1).pdf
ai tools demonstartion for schools and inter college
Which alternative to Crystal Reports is best for small or large businesses.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
How to Choose the Right IT Partner for Your Business in Malaysia
Nekopoi APK 2025 free lastest update
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
System and Network Administration Chapter 2

Puppet Camp Phoenix 2015: Continuous Integration Using Puppet (Intermediate)

  • 2. Miguel Zuniga Arch / Lead / Principal / Speaker since v. 0.22.2
  • 3. Agenda ● Continuous Integration ● How puppet can help us on CI? ● Puppet Environments = CI Environments ● Package, Test, Deploy ● Infrastructure as Code ● Puppet and CI ● Q&A
  • 5. How puppet can help use on CI? ● Automate configuration of Infrastructure ● Automate package deployment ● Keep track of changes done at the infra layer ● Control where and when gets software setup ● Build server becomes… a build server.
  • 6. Puppet Environments = CI Environments ● Development, Test, Production ● Drop your puppet code in SCM ● Let CI merge/squash puppet environments ● Provide an isolated view and a way to duplicate the application environments as many times as needed.
  • 7. Package, Test, Deploy ● Always package your software (deb, rpm, gem, pip) ● Use puppet package resources only ● NEVER DO exec { cmd => “install my war” } ● Define one standard sequential numeric version convention… v0.xxx and v124.0 ● To automate deployment properly code puppet using requires in a recursive way class repo { yumrepo { name => “epel” baseurl => “http://epel” } } class mypackage { require repo package { “myapplication”: ensure => 1.2 } } node { include mypackage }
  • 8. Infrastructure as Code With puppet controlling your infrastructure: ● Infra becomes another Product just like any other application ● Infra starts adding features and bugfixes ● Infra can align with the SDLC of your application ● Deploy to thousand of nodes with confidence
  • 10. Puppet and CI 1. Developers submit application code to SCM 2. Ops submit infrastructure code to SCM 3. Build server pulls the application code, compiles it, creates the package and uploads it to the repository 4. Build server pulls the infrastructure code, parses it, simulates it and merges the changes against the target environment 5. Build server instructs the puppet master to pull specific tag of the target environment 6. Puppet master takes care of running the puppet code in the target environment, configure and deploy the application 7. Testing framework can run once deploy is done. 8. Rinse and repeat With puppet you are not compiling, packaging and deploying an application… you are compiling, packaging and deploying your whole environment..
  • 11. Q&A Thank you tweet @mike_zuniga github.com/mikezuniga G+ +miguelzuniga Linkedin /in/miguelzuniga