SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Puppet Control Repository and
GIT
Martin Alfke - example42 GmbH
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 2
Puppet Trainer since 2011
CEO & Co-Founder example42 GmbH
tuxmea (Twitter, GitHub, Slack)
About me
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 3
Puppet Control-Repo
Simple GIT workflow
GIT workflow with staging branch
GIT Flow
Topics covered:
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Puppet Control Repo
4
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Puppet Control Repo
5
One repository for your own code
Separation of upstream modules
(Puppetfile or git submodules)
Branches will become Puppet
environments
Either empty repo or example42 Puppet
System Infrastructure Construction Kit
(PSICK on GitHub).
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Puppet Control Repo
6
Image: tatlin
App-DEV development testing production
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Puppet Control Repo
7
Image: tatlin
App-DEV development testing production
Puppet DEV production
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Puppet Control Repo
8
Image: tatlin
App-DEV development testing production
Puppet DEV production production production
Application Stages
Puppet Environments
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Simple GIT workflow
9
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Simple GIT workflow
10
One long living protected branch
(production)
Differences between stages are in
Hiera.
Activating features using feature flags.
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Simple GIT workflow
11
All changes come via feature branches
Prevent special chars like +, -, %, ...
these environments will not get
deployed.
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 12
Simple GIT workflow
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Simple GIT workflow
13
Pro:
Easy to learn, easy to handle
Con:
No real staging of code, code changes
affect all stages (when activated)
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT workflow with staging branch
14
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT workflow with staging branch
15
Network separation between
development and production?
Separate GIT servers and Puppet
Masters?
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT workflow with staging branch
16
All code must be developed in
development zone
No code may be added in
production, except via merge
requests.
CI/CD Systems synchronizes code
base using a staging branch
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 17
GIT workflow with staging branch
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT workflow with staging branch
18
Pro:
Security separation is taken care on
Con:
Needs automatic merging and staging,
no manual merges.
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT Flow
19
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT Flow
20
Image: tatlin
ITIL processes?
Strict code separation between
development and production required?
Hot fixes and Features must be
possible?
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT Flow
21
Image: tatlin
No merges between branches!
Each branch is an individual
development.
Cherry-Pick into next stage.
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 22
GIT Flow
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 23
GIT Flow
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT Flow
24
Image: tatlin
Each feature branch may consist of a
single commit only.
Use git commit --amend or git squash
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT Flow
25
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT Flow
26
Image: tatlin
GIT Flow
Requires knowledge on
- squashing
- rebasing
- solving merge conflicts
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 27
GIT Flow
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
GIT Flow
28
Image: tatlin
Pro:
Branch specific development possible
Con:
needs deeper understanding on GIT
more work to bring changes into
desired branch
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Summary
29
Simple can be harder than complex:
You have to work hard to get your
thinking clean to make it simple.
But it's worth it in the end because
once you get there, you can move
mountains.
- Steve Jobs
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Conclusion
30
Image: tatlin
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Conclusion
31
Start simple and expand when learning. - K.I.S.S.
Automate everything, also your code deployment!
GIT has a learning curve. Take care on that! Learn GIT!
Never adopt complex workflows if you don’t need them!
“If you use all your smartness to write the code, you have none left to debug
it.” (David Schmidt)
Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH
Conclusion 2
32
Stop social distancing! We need physical distance!
Take care on people who need help!
Puppet Control Repository and
GIT
Martin Alfke - example42 GmbH

Contenu connexe

Tendances

What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)Chris Aniszczyk
 
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaAlexandre Gouaillard
 
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"Aberla
 
Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Mayflower GmbH
 
Simplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudSimplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudLiz Warner
 
EclipseCon 2014 - Modeling symposium lightning talk - Papyrus-RT
EclipseCon 2014 - Modeling symposium lightning talk - Papyrus-RTEclipseCon 2014 - Modeling symposium lightning talk - Papyrus-RT
EclipseCon 2014 - Modeling symposium lightning talk - Papyrus-RTCharles Rivet
 
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...Richard Johansson
 
Jenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipelineJenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipelineSteffen Gebert
 
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...NETWAYS
 
Papyrus for RealTime - Executable Modeling on Eclipse
Papyrus for RealTime - Executable Modeling on EclipsePapyrus for RealTime - Executable Modeling on Eclipse
Papyrus for RealTime - Executable Modeling on EclipseCharles Rivet
 

Tendances (12)

What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)
 
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
 
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
 
Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011
 
Simplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudSimplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual Cloud
 
EclipseCon 2014 - Modeling symposium lightning talk - Papyrus-RT
EclipseCon 2014 - Modeling symposium lightning talk - Papyrus-RTEclipseCon 2014 - Modeling symposium lightning talk - Papyrus-RT
EclipseCon 2014 - Modeling symposium lightning talk - Papyrus-RT
 
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
 
{py}gradle
{py}gradle{py}gradle
{py}gradle
 
Python+gradle
Python+gradlePython+gradle
Python+gradle
 
Jenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipelineJenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipeline
 
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
 
Papyrus for RealTime - Executable Modeling on Eclipse
Papyrus for RealTime - Executable Modeling on EclipsePapyrus for RealTime - Executable Modeling on Eclipse
Papyrus for RealTime - Executable Modeling on Eclipse
 

Similaire à Puppet Camp Germany 2020 - Puppet Control Repo and GIT

PuppetCamp2021-Testing Modules and ControlRepo.pdf
PuppetCamp2021-Testing Modules and ControlRepo.pdfPuppetCamp2021-Testing Modules and ControlRepo.pdf
PuppetCamp2021-Testing Modules and ControlRepo.pdfMartin Alfke
 
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan HerrmannSupporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan HerrmannEclipse Day India
 
OSDC 2018 | Ops hates containers. Why? by Martin Alfke
OSDC 2018 |  Ops hates containers. Why? by Martin AlfkeOSDC 2018 |  Ops hates containers. Why? by Martin Alfke
OSDC 2018 | Ops hates containers. Why? by Martin AlfkeNETWAYS
 
Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi
Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry PiAdafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi
Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry PiImad Rhali
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerPuppet
 
GIT training - advanced for software projects
GIT training - advanced for software projectsGIT training - advanced for software projects
GIT training - advanced for software projectsThierry Gayet
 
Going native with less coupling: Dependency Injection in C++
Going native with less coupling: Dependency Injection in C++Going native with less coupling: Dependency Injection in C++
Going native with less coupling: Dependency Injection in C++Daniele Pallastrelli
 
stackconf 2022: Configuration Management vs. Workflows vs. Orchestration
stackconf 2022: Configuration Management vs. Workflows vs. Orchestrationstackconf 2022: Configuration Management vs. Workflows vs. Orchestration
stackconf 2022: Configuration Management vs. Workflows vs. OrchestrationNETWAYS
 
“TensorFlow Lite for Microcontrollers (TFLM): Recent Developments,” a Present...
“TensorFlow Lite for Microcontrollers (TFLM): Recent Developments,” a Present...“TensorFlow Lite for Microcontrollers (TFLM): Recent Developments,” a Present...
“TensorFlow Lite for Microcontrollers (TFLM): Recent Developments,” a Present...Edge AI and Vision Alliance
 
GEFRAN GCube Fit extru+
GEFRAN GCube Fit extru+GEFRAN GCube Fit extru+
GEFRAN GCube Fit extru+Gefran Inc.
 
PERFORMANCEATMOSPHERE - PREDICTION OF GPU-BASED DEEP LEARNING APPLICATIONS
PERFORMANCEATMOSPHERE - PREDICTION OF GPU-BASED DEEP LEARNING APPLICATIONSPERFORMANCEATMOSPHERE - PREDICTION OF GPU-BASED DEEP LEARNING APPLICATIONS
PERFORMANCEATMOSPHERE - PREDICTION OF GPU-BASED DEEP LEARNING APPLICATIONSATMOSPHERE .
 
IBM Bluemix and the Internet of Things - Workshop
IBM Bluemix and the Internet of Things - WorkshopIBM Bluemix and the Internet of Things - Workshop
IBM Bluemix and the Internet of Things - Workshopgjuljo
 
PluginAndPlay-AmsterdamJUG.pptx
PluginAndPlay-AmsterdamJUG.pptxPluginAndPlay-AmsterdamJUG.pptx
PluginAndPlay-AmsterdamJUG.pptxSimonedeGijt
 
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...Joel W. King
 
Axel Hafner - MakerBot Europe - European Market Entry - Stanford Engineering ...
Axel Hafner - MakerBot Europe - European Market Entry - Stanford Engineering ...Axel Hafner - MakerBot Europe - European Market Entry - Stanford Engineering ...
Axel Hafner - MakerBot Europe - European Market Entry - Stanford Engineering ...Burton Lee
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiLeon Anavi
 
Elastic network of things with mqtt and micro python
Elastic network of things with mqtt and micro pythonElastic network of things with mqtt and micro python
Elastic network of things with mqtt and micro pythonWei Lin
 
Pic18f4550 microcontroller based projects _ PIC Microcontroller.pdf
Pic18f4550 microcontroller based projects _ PIC Microcontroller.pdfPic18f4550 microcontroller based projects _ PIC Microcontroller.pdf
Pic18f4550 microcontroller based projects _ PIC Microcontroller.pdfIsmailkhan77481
 
Pfau the impact of design thinking
Pfau   the impact of design thinkingPfau   the impact of design thinking
Pfau the impact of design thinkingISSIP
 

Similaire à Puppet Camp Germany 2020 - Puppet Control Repo and GIT (20)

PuppetCamp2021-Testing Modules and ControlRepo.pdf
PuppetCamp2021-Testing Modules and ControlRepo.pdfPuppetCamp2021-Testing Modules and ControlRepo.pdf
PuppetCamp2021-Testing Modules and ControlRepo.pdf
 
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan HerrmannSupporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
 
OSDC 2018 | Ops hates containers. Why? by Martin Alfke
OSDC 2018 |  Ops hates containers. Why? by Martin AlfkeOSDC 2018 |  Ops hates containers. Why? by Martin Alfke
OSDC 2018 | Ops hates containers. Why? by Martin Alfke
 
Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi
Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry PiAdafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi
Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
 
GIT training - advanced for software projects
GIT training - advanced for software projectsGIT training - advanced for software projects
GIT training - advanced for software projects
 
Going native with less coupling: Dependency Injection in C++
Going native with less coupling: Dependency Injection in C++Going native with less coupling: Dependency Injection in C++
Going native with less coupling: Dependency Injection in C++
 
stackconf 2022: Configuration Management vs. Workflows vs. Orchestration
stackconf 2022: Configuration Management vs. Workflows vs. Orchestrationstackconf 2022: Configuration Management vs. Workflows vs. Orchestration
stackconf 2022: Configuration Management vs. Workflows vs. Orchestration
 
“TensorFlow Lite for Microcontrollers (TFLM): Recent Developments,” a Present...
“TensorFlow Lite for Microcontrollers (TFLM): Recent Developments,” a Present...“TensorFlow Lite for Microcontrollers (TFLM): Recent Developments,” a Present...
“TensorFlow Lite for Microcontrollers (TFLM): Recent Developments,” a Present...
 
GEFRAN GCube Fit extru+
GEFRAN GCube Fit extru+GEFRAN GCube Fit extru+
GEFRAN GCube Fit extru+
 
PERFORMANCEATMOSPHERE - PREDICTION OF GPU-BASED DEEP LEARNING APPLICATIONS
PERFORMANCEATMOSPHERE - PREDICTION OF GPU-BASED DEEP LEARNING APPLICATIONSPERFORMANCEATMOSPHERE - PREDICTION OF GPU-BASED DEEP LEARNING APPLICATIONS
PERFORMANCEATMOSPHERE - PREDICTION OF GPU-BASED DEEP LEARNING APPLICATIONS
 
IBM Bluemix and the Internet of Things - Workshop
IBM Bluemix and the Internet of Things - WorkshopIBM Bluemix and the Internet of Things - Workshop
IBM Bluemix and the Internet of Things - Workshop
 
PluginAndPlay-AmsterdamJUG.pptx
PluginAndPlay-AmsterdamJUG.pptxPluginAndPlay-AmsterdamJUG.pptx
PluginAndPlay-AmsterdamJUG.pptx
 
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
 
Axel Hafner - MakerBot Europe - European Market Entry - Stanford Engineering ...
Axel Hafner - MakerBot Europe - European Market Entry - Stanford Engineering ...Axel Hafner - MakerBot Europe - European Market Entry - Stanford Engineering ...
Axel Hafner - MakerBot Europe - European Market Entry - Stanford Engineering ...
 
Tabnet presentation
Tabnet presentationTabnet presentation
Tabnet presentation
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry Pi
 
Elastic network of things with mqtt and micro python
Elastic network of things with mqtt and micro pythonElastic network of things with mqtt and micro python
Elastic network of things with mqtt and micro python
 
Pic18f4550 microcontroller based projects _ PIC Microcontroller.pdf
Pic18f4550 microcontroller based projects _ PIC Microcontroller.pdfPic18f4550 microcontroller based projects _ PIC Microcontroller.pdf
Pic18f4550 microcontroller based projects _ PIC Microcontroller.pdf
 
Pfau the impact of design thinking
Pfau   the impact of design thinkingPfau   the impact of design thinking
Pfau the impact of design thinking
 

Plus de Martin Alfke

CfgMgmtCamp 2023 - Puppet is YAML.pdf
CfgMgmtCamp 2023 - Puppet is YAML.pdfCfgMgmtCamp 2023 - Puppet is YAML.pdf
CfgMgmtCamp 2023 - Puppet is YAML.pdfMartin Alfke
 
HashiTalksDACH-Terraform-Managing training instances in the Cloud
HashiTalksDACH-Terraform-Managing training instances in the CloudHashiTalksDACH-Terraform-Managing training instances in the Cloud
HashiTalksDACH-Terraform-Managing training instances in the CloudMartin Alfke
 
Puppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in ModulesPuppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in ModulesMartin Alfke
 
Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?Martin Alfke
 
Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014Martin Alfke
 
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebulaGUUG Hamburg OpenNebula
GUUG Hamburg OpenNebulaMartin Alfke
 
Puppet camp london-modulerewritingsmartway
Puppet camp london-modulerewritingsmartwayPuppet camp london-modulerewritingsmartway
Puppet camp london-modulerewritingsmartwayMartin Alfke
 
Puppet future parser
Puppet future parserPuppet future parser
Puppet future parserMartin Alfke
 
developing sysadmin, sysadmining developersGuug devops puppet
developing sysadmin, sysadmining developersGuug devops puppetdeveloping sysadmin, sysadmining developersGuug devops puppet
developing sysadmin, sysadmining developersGuug devops puppetMartin Alfke
 
Gluster fs buero20_presentation
Gluster fs buero20_presentationGluster fs buero20_presentation
Gluster fs buero20_presentationMartin Alfke
 
Puppet buero20 presentation
Puppet buero20 presentationPuppet buero20 presentation
Puppet buero20 presentationMartin Alfke
 

Plus de Martin Alfke (13)

CfgMgmtCamp 2023 - Puppet is YAML.pdf
CfgMgmtCamp 2023 - Puppet is YAML.pdfCfgMgmtCamp 2023 - Puppet is YAML.pdf
CfgMgmtCamp 2023 - Puppet is YAML.pdf
 
HashiTalksDACH-Terraform-Managing training instances in the Cloud
HashiTalksDACH-Terraform-Managing training instances in the CloudHashiTalksDACH-Terraform-Managing training instances in the Cloud
HashiTalksDACH-Terraform-Managing training instances in the Cloud
 
Puppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in ModulesPuppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in Modules
 
Power of Puppet 4
Power of Puppet 4Power of Puppet 4
Power of Puppet 4
 
Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?
 
Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014
 
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebulaGUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
 
Puppet camp london-modulerewritingsmartway
Puppet camp london-modulerewritingsmartwayPuppet camp london-modulerewritingsmartway
Puppet camp london-modulerewritingsmartway
 
One
OneOne
One
 
Puppet future parser
Puppet future parserPuppet future parser
Puppet future parser
 
developing sysadmin, sysadmining developersGuug devops puppet
developing sysadmin, sysadmining developersGuug devops puppetdeveloping sysadmin, sysadmining developersGuug devops puppet
developing sysadmin, sysadmining developersGuug devops puppet
 
Gluster fs buero20_presentation
Gluster fs buero20_presentationGluster fs buero20_presentation
Gluster fs buero20_presentation
 
Puppet buero20 presentation
Puppet buero20 presentationPuppet buero20 presentation
Puppet buero20 presentation
 

Dernier

Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...meghakumariji156
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...kumargunjan9515
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsMonica Sydney
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsPriya Reddy
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查ydyuyu
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理F
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...kajalverma014
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样ayvbos
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Balliameghakumariji156
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsMonica Sydney
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.krishnachandrapal52
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoilmeghakumariji156
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查ydyuyu
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 

Dernier (20)

Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 

Puppet Camp Germany 2020 - Puppet Control Repo and GIT

  • 1. Puppet Control Repository and GIT Martin Alfke - example42 GmbH
  • 2. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 2 Puppet Trainer since 2011 CEO & Co-Founder example42 GmbH tuxmea (Twitter, GitHub, Slack) About me
  • 3. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 3 Puppet Control-Repo Simple GIT workflow GIT workflow with staging branch GIT Flow Topics covered:
  • 4. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Puppet Control Repo 4 Image: tatlin
  • 5. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Puppet Control Repo 5 One repository for your own code Separation of upstream modules (Puppetfile or git submodules) Branches will become Puppet environments Either empty repo or example42 Puppet System Infrastructure Construction Kit (PSICK on GitHub). Image: tatlin
  • 6. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Puppet Control Repo 6 Image: tatlin App-DEV development testing production
  • 7. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Puppet Control Repo 7 Image: tatlin App-DEV development testing production Puppet DEV production
  • 8. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Puppet Control Repo 8 Image: tatlin App-DEV development testing production Puppet DEV production production production Application Stages Puppet Environments
  • 9. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Simple GIT workflow 9 Image: tatlin
  • 10. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Simple GIT workflow 10 One long living protected branch (production) Differences between stages are in Hiera. Activating features using feature flags. Image: tatlin
  • 11. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Simple GIT workflow 11 All changes come via feature branches Prevent special chars like +, -, %, ... these environments will not get deployed. Image: tatlin
  • 12. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 12 Simple GIT workflow
  • 13. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Simple GIT workflow 13 Pro: Easy to learn, easy to handle Con: No real staging of code, code changes affect all stages (when activated) Image: tatlin
  • 14. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT workflow with staging branch 14 Image: tatlin
  • 15. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT workflow with staging branch 15 Network separation between development and production? Separate GIT servers and Puppet Masters? Image: tatlin
  • 16. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT workflow with staging branch 16 All code must be developed in development zone No code may be added in production, except via merge requests. CI/CD Systems synchronizes code base using a staging branch Image: tatlin
  • 17. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 17 GIT workflow with staging branch
  • 18. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT workflow with staging branch 18 Pro: Security separation is taken care on Con: Needs automatic merging and staging, no manual merges. Image: tatlin
  • 19. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT Flow 19 Image: tatlin
  • 20. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT Flow 20 Image: tatlin ITIL processes? Strict code separation between development and production required? Hot fixes and Features must be possible?
  • 21. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT Flow 21 Image: tatlin No merges between branches! Each branch is an individual development. Cherry-Pick into next stage.
  • 22. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 22 GIT Flow
  • 23. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 23 GIT Flow
  • 24. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT Flow 24 Image: tatlin Each feature branch may consist of a single commit only. Use git commit --amend or git squash
  • 25. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT Flow 25
  • 26. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT Flow 26 Image: tatlin GIT Flow Requires knowledge on - squashing - rebasing - solving merge conflicts
  • 27. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH 27 GIT Flow
  • 28. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH GIT Flow 28 Image: tatlin Pro: Branch specific development possible Con: needs deeper understanding on GIT more work to bring changes into desired branch
  • 29. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Summary 29 Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple. But it's worth it in the end because once you get there, you can move mountains. - Steve Jobs
  • 30. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Conclusion 30 Image: tatlin
  • 31. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Conclusion 31 Start simple and expand when learning. - K.I.S.S. Automate everything, also your code deployment! GIT has a learning curve. Take care on that! Learn GIT! Never adopt complex workflows if you don’t need them! “If you use all your smartness to write the code, you have none left to debug it.” (David Schmidt)
  • 32. Puppet Control Repository and GIT - PuppetCamp Europe 2020 - Martin Alfke © example42 GmbH Conclusion 2 32 Stop social distancing! We need physical distance! Take care on people who need help!
  • 33. Puppet Control Repository and GIT Martin Alfke - example42 GmbH