Submit Search
Upload
Puppet Release Workflows at Jive Software
•
5 likes
•
3,321 views
Puppet
Follow
"Puppet Release Workflows at Jive Software" by Devon Peters at Puppet Camp Portland 2014.
Read less
Read more
Technology
Entertainment & Humor
Report
Share
Report
Share
1 of 47
Download now
Download to read offline
Recommended
Puppet Camp Melbourne 2014:
Puppet Camp Melbourne 2014:
Puppet
SCALE 10x Build a Cloud Day
SCALE 10x Build a Cloud Day
Chef Software, Inc.
Drupal Deployment
Drupal Deployment
Jeff Eaton
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in Operations
Mandi Walls
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltStack
Michelin Starred Cooking with Chef
Michelin Starred Cooking with Chef
Jon Cowie
“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...
“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...
Puppet
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Simplilearn
Recommended
Puppet Camp Melbourne 2014:
Puppet Camp Melbourne 2014:
Puppet
SCALE 10x Build a Cloud Day
SCALE 10x Build a Cloud Day
Chef Software, Inc.
Drupal Deployment
Drupal Deployment
Jeff Eaton
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in Operations
Mandi Walls
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltStack
Michelin Starred Cooking with Chef
Michelin Starred Cooking with Chef
Jon Cowie
“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...
“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...
Puppet
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Simplilearn
Continuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two Approaches
Ross Snyder
Puppet overview
Puppet overview
joshbeard
Building and Deploying MediaSalsa, a drupal-based DAM as a Service
Building and Deploying MediaSalsa, a drupal-based DAM as a Service
Julien Pivotto
Auditing/Security with Puppet - PuppetConf 2014
Auditing/Security with Puppet - PuppetConf 2014
Puppet
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Puppet
Linux HA anno 2014
Linux HA anno 2014
Julien Pivotto
DevOps, beyond agile
DevOps, beyond agile
Julien Pivotto
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Puppet
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Bamdad Dashtban
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Nathen Harvey
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Amazon Web Services
State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DC
Puppet
DevOp with Me!
DevOp with Me!
Nathen Harvey
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
Eugenio Minardi
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
Mike Brittain
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
Development Seed
Implementing your own Google App Engine
Implementing your own Google App Engine
Virtual JBoss User Group
Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
CloudBees
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Simplilearn
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Ohad Basan
Devops.pptx
Devops.pptx
MeetPatel921377
More Related Content
What's hot
Continuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two Approaches
Ross Snyder
Puppet overview
Puppet overview
joshbeard
Building and Deploying MediaSalsa, a drupal-based DAM as a Service
Building and Deploying MediaSalsa, a drupal-based DAM as a Service
Julien Pivotto
Auditing/Security with Puppet - PuppetConf 2014
Auditing/Security with Puppet - PuppetConf 2014
Puppet
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Puppet
Linux HA anno 2014
Linux HA anno 2014
Julien Pivotto
DevOps, beyond agile
DevOps, beyond agile
Julien Pivotto
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Puppet
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Bamdad Dashtban
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Nathen Harvey
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Amazon Web Services
State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DC
Puppet
DevOp with Me!
DevOp with Me!
Nathen Harvey
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
Eugenio Minardi
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
Mike Brittain
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
Development Seed
Implementing your own Google App Engine
Implementing your own Google App Engine
Virtual JBoss User Group
Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
CloudBees
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Simplilearn
What's hot
(20)
Continuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two Approaches
Puppet overview
Puppet overview
Building and Deploying MediaSalsa, a drupal-based DAM as a Service
Building and Deploying MediaSalsa, a drupal-based DAM as a Service
Auditing/Security with Puppet - PuppetConf 2014
Auditing/Security with Puppet - PuppetConf 2014
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Linux HA anno 2014
Linux HA anno 2014
DevOps, beyond agile
DevOps, beyond agile
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DC
DevOp with Me!
DevOp with Me!
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
Implementing your own Google App Engine
Implementing your own Google App Engine
Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Similar to Puppet Release Workflows at Jive Software
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Ohad Basan
Devops.pptx
Devops.pptx
MeetPatel921377
Fluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
Miguel Zuniga
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
Kris Buytaert
Puppet & Perforce: Versioning Everything for Deployments
Puppet & Perforce: Versioning Everything for Deployments
Perforce
CIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops better
Andrii Podanenko
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
Andrii Podanenko
Deploying puppet code at light speed
Deploying puppet code at light speed
Tomas Doran
Deploying Puppet Code At Light Speed - Puppet Camp Silicon Valley
Deploying Puppet Code At Light Speed - Puppet Camp Silicon Valley
Puppet
Deploying software at Scale
Deploying software at Scale
Kris Buytaert
Smarter deployments with octopus deploy
Smarter deployments with octopus deploy
Thibaud Gravrand
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet
Steamlining your puppet development workflow
Steamlining your puppet development workflow
Tomas Doran
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...
SaltStack
Making the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous Deployment
Ethan Ram
Continuous Integration as a Way of Life
Continuous Integration as a Way of Life
Melissa Benua
Enabling Continuous Delivery For Major Retailer using open source Jenkins
Enabling Continuous Delivery For Major Retailer using open source Jenkins
Masood Jan
How We Use GitHub
How We Use GitHub
NYC DevShop
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
CloudBees
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
Michael Lihs
Similar to Puppet Release Workflows at Jive Software
(20)
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Devops.pptx
Devops.pptx
Fluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
Puppet & Perforce: Versioning Everything for Deployments
Puppet & Perforce: Versioning Everything for Deployments
CIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops better
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
Deploying puppet code at light speed
Deploying puppet code at light speed
Deploying Puppet Code At Light Speed - Puppet Camp Silicon Valley
Deploying Puppet Code At Light Speed - Puppet Camp Silicon Valley
Deploying software at Scale
Deploying software at Scale
Smarter deployments with octopus deploy
Smarter deployments with octopus deploy
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Steamlining your puppet development workflow
Steamlining your puppet development workflow
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...
Making the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous Deployment
Continuous Integration as a Way of Life
Continuous Integration as a Way of Life
Enabling Continuous Delivery For Major Retailer using open source Jenkins
Enabling Continuous Delivery For Major Retailer using open source Jenkins
How We Use GitHub
How We Use GitHub
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
More from Puppet
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
Puppetcamp r10kyaml
Puppetcamp r10kyaml
Puppet
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
Puppet camp vscode
Puppet camp vscode
Puppet
Modules of the twenties
Modules of the twenties
Puppet
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
Puppet
KGI compliance as-code approach
KGI compliance as-code approach
Puppet
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
Keynote: Puppet camp compliance
Keynote: Puppet camp compliance
Puppet
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Puppet
Puppet: The best way to harden Windows
Puppet: The best way to harden Windows
Puppet
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
Puppet
Accelerating azure adoption with puppet
Accelerating azure adoption with puppet
Puppet
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
Puppet
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
Puppet
Take control of your dev ops dumping ground
Take control of your dev ops dumping ground
Puppet
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
Puppet
Puppet User Group
Puppet User Group
Puppet
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
Puppet
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
Puppet
More from Puppet
(20)
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppetcamp r10kyaml
Puppetcamp r10kyaml
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet camp vscode
Puppet camp vscode
Modules of the twenties
Modules of the twenties
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
KGI compliance as-code approach
KGI compliance as-code approach
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Keynote: Puppet camp compliance
Keynote: Puppet camp compliance
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Puppet: The best way to harden Windows
Puppet: The best way to harden Windows
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
Accelerating azure adoption with puppet
Accelerating azure adoption with puppet
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
Take control of your dev ops dumping ground
Take control of your dev ops dumping ground
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
Puppet User Group
Puppet User Group
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
Recently uploaded
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Zilliz
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Dropbox
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
Zilliz
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Nanddeep Nachan
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Recently uploaded
(20)
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Puppet Release Workflows at Jive Software
1.
Puppet Release Workflows at
Jive Devon Peters
2.
What is a
Release? 2 © Jive confidential
3.
Push to production,
always, immediately 3 © Jive confidential
4.
5.
Releases… • Software Release
Cycle – “A software release life cycle is the sum of the stages of development and maturity for a piece of computer software: ranging from its initial development to its eventual release…” – Wikipedia • Release Management – “the process of managing software releases from development stage to software release” – Wikipedia • Release Engineering – “Automation of release management throughout all stages of release” – Me 5 © Jive confidential
6.
More Dev in
our Ops RY ATO LIG OB PS EVO D AGE IM 6 © Jive confidential
7.
We have formal
release management processes for all of our puppet Domains 7 © Jive confidential
8.
Different Releases for
Different Domains • Core puppet – All infrastructure – Many shared services • Hosted puppet – Hosted Jive installations – Puppet is tied closely to Administration tooling • Continuous Deployment – New-style services – Some infrastructure 8 © Jive confidential
9.
Releasing Core Puppet 9 ©
Jive confidential
10.
Core Puppet • All
core infrastructure systems • Most shared services • Puppet+hiera does everything on these systems (very few exceptions) • Simple deployment environment breakdown – Dev, QA, Production (multiple production environments) • Dynamic puppet environments – ‘production’ puppet environment is default – ad-hoc environments are used for testing/staging • Use git flow branching strategy 10 © Jive confidential
11.
12.
Git Details • Wrappers
to simplify and standardize common tasks – j-tech (j-new, j-hotfix, j-commit, many more) – Tied into Jira and Crucible – Feature branches are named after Jira tickets • Code Deployments – Dev/QA: develop is deployed to ‘production’ puppet environment – Prod: master is deployed to ‘production’ puppet environment 12 © Jive confidential
13.
Testing Changes • Automated –
Pre-commit: puppet/erb/ruby/yaml syntax, puppetlint, hiera-gpg • Local – Vagrant VM – Push branch out to dev puppet master • Environment Specific – Push branch to env-specific puppet master 13 © Jive confidential
14.
Merging Changes • j-review –
Submit a code review of your branch • j-commit – Merges feature branch to develop – Merges hotfix branch to master and develop • develop branch is deployed to Dev on commit – jenkins • develop branch is deployed to QA Mon-Fri @ 10am – jenkins • If it’s not a hotfix it won’t go to production yet… – Technically, this because the change isn’t in the ‘master’ branch yet, but there’s more to it than that 14 © Jive confidential
15.
Change Control for
Production • Bi-weekly CC meetings – Monday and Thursday • Puppet changes go through CC process – Hotfixes can be promoted outside of CC process – Weekly change windows for high-impact changes • If it’s a puppet change, it’s done as a hotfix • Puppet release started every Thursday @ 4pm – j-release -S: starts a release branch – Jenkins runs this, and generates a CCR ticket with all commits – Changes are reviewed in Monday CC meeting • Puppet release finished every Tuesday – j-release -F: finishes a release branch (manual) – Jenkins code deployment jobs are triggered manually 15 © Jive confidential
16.
Core Release Overview 16 ©
Jive confidential
17.
Releasing Hosted Puppet 17 ©
Jive confidential
18.
Hosted Puppet • Nodes
that run hosted customer installations • Very homogenous • Relatively simple puppet code – Puppet mostly supplements an in house administration tool (JCA) • Deployment environment breakdown – Dev, QA, Prod • Uses static puppet environments – ENC dictates the environment for a given node – Jenkins jobs deploy from git to appropriate puppet environment • Uses the git flow branching strategy – All the same j-tech tools 18 © Jive confidential
19.
Testing Changes • Automated –
Pre-commit: puppet/erb/ruby/yaml syntax, puppetlint, hiera-gpg • Get your own installation setup in Dev – Commit changes, and don’t walk away till you know they work • It’s somewhat acceptable to break dev, but try not to – Most OS related changes are just plucked from Core, and were likely tested more thoroughly there 19 © Jive confidential
20.
Merging Changes • j-review –
Submit a code review of your branch • j-commit – Merges feature branch to develop – Merges hotfix branch to master and develop • develop branch is deployed to Dev on commit – jenkins – make sure you don’t break it • develop branch is deployed to QA ad-hoc – QA changes are tied to JCA application release QA cycles – jenkins 20 © Jive confidential
21.
Creating Releases • Puppet
releases are typically tied to JCA application releases – The app releases every 2 weeks – A puppet release could be a part of it • Doing a release – j-release -A: create, and finish a release branch 21 © Jive confidential
22.
Staged Production Deployments •
UAT – UAT nodes use the same puppet infrastructure as production – Jenkins deploys master to the ‘hosted_uat’ puppet environment • Production – Jenkins deploys master to the ‘hosted’ puppet environment 22 © Jive confidential
23.
Hosted Release Overview 23 ©
Jive confidential
24.
Continuous Deployment 24 © Jive
confidential
25.
CD Overview • Deployable –
Framework for deploying java (and other) services • Many java services (over 70) • Data Infrastructure – Kafka, Hadoop, HBase, SenseiDB, Elasticsearch • Other Infrastructure – Puppet, Nginx, Sensu, OpenTSDB • Gerrit – Code reviews are mandatory – Branch strategy is still git flow style • Complex Puppet Code • Complex Deployment Pipeline 25 © Jive confidential
26.
Environment Overview • We
call them clusters – virtual, dev, integ, test, release, preprod, prod • We also have geo-specific datacenters – local, intinteg, inttest, intrelease, phxpreprod, phxprod, amsprod • Hiera hierarchy includes all of these – These exist in hiera for other Puppet domains as well • Deployable configuration hierarchy includes all of these 26 © Jive confidential
27.
Puppet Details 27 © Jive
confidential
28.
Puppet Overview • Dedicated
puppet master(s) per cluster • Puppet agent is run on-demand by the deployment process • CD pipeline determines if puppet code can be promoted to the next cluster • “Special” module and hiera trees – We don’t want to duplicate everything in Core – Developers need the ability to change puppet code or hiera data – We setup something we call Puppet for Projects • Combines Core puppet code with Project puppet code 28 © Jive confidential
29.
Puppet for Projects
- Layout • Core puppet – Basic layout is: • hiera/ • manifests/ • modules/ – manifests/site.pp is basically: hiera_include(‘classes’) – Every commit triggers an artifact build job (jenkins) • Artifacts are uploaded to a Nexus repo, as puppet-0.0.1-<count>-<committish> • Project puppet – A project is basically a repo – The project repo contains the following directories: • puppet/hiera • puppet/modules – Contains maven configuration for Core puppet artifact and Combined puppet artifact 29 © Jive confidential
30.
Puppet for Projects
– Configuration • puppet.conf – modulepath = /path/modules:/path/project/modules • hiera.yaml – project/%{some-hierarchy} – %{some-hierarchy} 30 © Jive confidential
31.
Puppet for Projects
- Artifact • Combined artifact – A commit to the puppet code in the project triggers a combined artifact build – Artifact contains: • • • • • hiera/ hiera/project manifests/ modules/ project/modules (from Core artifact) (from puppet/hiera in the project repo) (from Core artifact) (from Core artifact) (from puppet/modules in the project repo) – Module Collisions • If a module with the same name exists in both, the project always wins and the Core module is excluded from the final artifact 31 © Jive confidential
32.
Deployable 32 © Jive confidential
33.
Deployable Framework • Provides
standardized… – Configuration • j-config – CLI or service • Hierarchical JSON – Logging • log-publisher service, writes to Logstash – Metrics • metric-publisher service, writes to OpenTSDB – Monitoring • Autogenerated sensu checks – Deployment • Supports multiple run phases – Service Management • j-status, j-start, j-stop 33 © Jive confidential
34.
Puppet as a
Deployable • puppetmaster-deployable – Target: puppet master – puppet tree is packaged into a <release-ver> artifact – Artifact is deployed to /etc/puppet/environments/jive_<release-ver> on the puppet master(s) • puppet-deployable – Target: all systems – j-start executes: puppet agent --environment jive_<release-ver> – If puppet fails, the deploy fails and stops • <release-ver> is always the version of the artifact being built/deployed – 0.0.1-<count>-<committish> – The deployment process converts the string to a puppet safe string • 0_0_1_<count>_<committish> 34 © Jive confidential
35.
Deployment Run Phases •
ops-tools – Deploy j-tech first so everything else will work • puppetmaster – Get out teh codes • puppet – Run puppet – Includes Hadoop, HBase, Zookeeper, Elasticsearch • pre – Deploy core/base services – Includes Kafka, and SenseiDB • Main – Everything else 35 © Jive confidential
36.
Making a Puppet
Change 36 © Jive confidential
37.
Making a Puppet
Change – Virtual • Vagrant VM – It’s big • minimum 4CPU, 8GB – for the VM alone – Full stack gets deployed and run • Hadoop, Kafka, etc, etc, etc – even all 70+ services if you want – j-vm -r • Fetches proper Core puppet artifact • Builds and deploys a puppet tree for vagrant, based on your local git repo • Executes vagrant puppet provisioner – Once it works on the vm, submit a review to Gerrit 37 © Jive confidential
38.
Making a Puppet
Change – Integ • Once the review is submitted, jenkins will: – Build Artifacts – Launch a VM-test job • Validating that what you did works on a vagrant VM there – Launch an integ deployment • Validating that things work in a multi-node non-vagrant environment – Comment on your review with Validated +1, or -1 (depending on results) – Once other reviewers give you +2 Gerrit will merge your commit – Once it’s merged… 38 © Jive confidential
39.
Making a Puppet
Change – Test • Once the commit is merged, jenkins will: – Build artifacts – Launch a Test deployment – Run more extensive tests – If the deployment and all tests pass, it’s ready for the next step 39 © Jive confidential
40.
Making a Puppet
Change – Release • Daily at 8am all commits that have passed Test are merged from develop to master • Once this happens, jenkins will: – Build artifacts – Trigger a Release deployment – Rerun all of the tests – If all tests pass… 40 © Jive confidential
41.
Making a Puppet
Change – Preprod • If all tests pass, jenkins will: – Promote artifacts to preprod Nexus repo – Trigger a Preprod deploy – At this point, everything should be stable 41 © Jive confidential
42.
Making a Puppet
Change – Prod • During the next scheduled production release, someone will: – Trigger a Prod deploy – Currently done manually 42 © Jive confidential
43.
44.
That’s about it… 44 ©
Jive confidential
45.
Review • Core – Complex
puppet code to manage everything – Releases tied to Change Control – ~1000 nodes • Hosted – Relatively simple puppet code – Releases tied to Administration tool’s application releases – ~14000 nodes • Continuous Deployment – Complex puppet code – Fully Automated Release and Deployment – <200 nodes (but growing) 45 © Jive confidential
46.
Thank You! © Jive
confidential 46
47.
Questions? © Jive confidential 47
Download now