SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Continuous Deployment mit Rex und Jenkins
Miriam Bergmann
IT Engineering & Operations
Berlin, 23.05.2013
2
1.  About Me
2.  Continuous Deployment
3.  Rex
4.  Jenkins
5.  Kleine Demo
6.  Fragen
Agenda
... was erwartet euch?
3
‣  Miriam Bergmann
‣  Angestellt bei der inovex GmbH als Systems Engineer
‣  Aufbau und Betrieb komplexer Systemlandschaften und Applikationen
‣  Automatisierung von Betriebsabläufen wie Softwaredeployments
About Me
...wer steht da denn?
4
‣  Anforderungen des Kunden / Projektes
‣  Agile Releasezyklen erfordern viele kleine atomare Deployments
‣  Realität sieht häufig anders aus:
‣  Probleme beim Deployment
‣  Deployment auf Produktion funktioniert nicht
‣  Nicht reproduzierbare Fehler
‣  „works on my box“
‣  komplexe Abhängigkeiten zwischen den Komponenten
‣  Verschiedene Applikationen, verschiedene Deploymentmechanismen –
Deployment als Wissenschaft für sich
‣  Komplexität führt zu seltenen zeitintensiven Deployments
Continuous Deployment
... warum brauche ich das?
5
‣  Einsatz vom einheitlichen Tooling zum Deployment
‣  Für alle Applikationen
‣  Auf allen Umgebungen
‣  Deployment als Teil des Softwarereleaseprozesses
‣  Tests des Deploymentprozesses
Continuous Deployment
... was kann ich mir darunter vorstellen?
6
‣  Idee ist nicht neu
‣  Es gibt nicht nur eine Umsetzungsmöglichkeit
‣  Wahl der Tools und der Umsetzung abhängig von verschiedenen Faktoren
‣  Skills und Vorlieben des betreuenden Teams
‣  Art der Applikation
‣  Grad der Komplexität
‣  Prozess forcieren und aktiv leben
Continuous Deployment
... wie stelle ich das am Besten an?
7
‣  Rex als Deployment Tool
‣  Jenkins zum Abbilden des Prozesses (Berechtigungen, Freigaben, Durchlauf der
Softwarepakete durch die verschiedenen Umgebungen)
Continuous Deployment
... was haben wir daraus gemacht?
8
‣  Steht für Remote Execution
‣  http://rexify.org/
‣  Implementiert in Perl
‣  over ssh
‣  Configmanagement und Deployments
Rex
... wer oder was ist das?
9
‣  Perl ist unter Admins recht verbreitet
‣  Rex erfordert nicht viele Perlkenntnisse
‣  ein File
‣  zentral
‣  sequentielle Abarbeitung
‣  Aufteilung in sogenannte Tasks für die Übersichtlichkeit
Rex
... warum nicht ...?
10
‣  Aufbau eines Repos auf dem zentralen Deploymenthost:
Rex
... seht selbst!
11
‣  Nur ssh Zugriff auf den zu deployenden Hosts nötig
‣  Definition von Hostgruppen
‣  Basisconfig:
Rex
... seht selbst!
12
‣  Umgebungsspezifische Pfade für Configs und Packages
Rex
... seht selbst!
13
‣  Ein Beispieltask
Rex
... seht selbst!
14
‣  Aufruf ganz simpel:
Rex
... seht selbst!
15
‣  CI Server
‣  implementiert in Java
‣  Tool zur Jobausführung und Jobüberwachung
‣  Jenkinsintegration von Rex
Jenkins
... wofür dann Jenkins?
16
‣  Konfiguration
‣  Plugins
‣  Jenkins Dynamic Parameter Plugin
‣  Promoted Builds Plugin
‣  Abbilden des Deploymentprozesses
‣  Ansichten = Umgebungen
‣  Jobs = Applikationen
‣  Freigabeprozess
‣  Rechtemanagement
‣  Promote Actions
‣  Einbindung von Rex (Aufrufe, Konfiguration der Tasks)
Jenkins
... Setup
17
Vielen Dank für die Aufmerksamkeit !
Fragen?
Fragen
18
Vielen Dank für Ihre Aufmerksamkeit
Kontakt
Miriam Bergmann
Systems Engineer
inovex GmbH
Office Pforzheim
Karlsruher Str. 72
75179 Pforzheim
0173 3181055
miriam.bergmann@inovex.de

Más contenido relacionado

La actualidad más candente

Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...Trivadis
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rexinovex GmbH
 
Trivadis TechEvent 2016 Ablösung einer Tivoli Monitoring Umgebung mit OpenSou...
Trivadis TechEvent 2016 Ablösung einer Tivoli Monitoring Umgebung mit OpenSou...Trivadis TechEvent 2016 Ablösung einer Tivoli Monitoring Umgebung mit OpenSou...
Trivadis TechEvent 2016 Ablösung einer Tivoli Monitoring Umgebung mit OpenSou...Trivadis
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3Peter Kraume
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan Gehring
 
PHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware ImagesPHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware ImagesAlexander Meindl
 
Einführung in Opscode Chef - Voraussetzungen
Einführung in Opscode Chef - VoraussetzungenEinführung in Opscode Chef - Voraussetzungen
Einführung in Opscode Chef - VoraussetzungenAvarteq
 
Zuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible sessionZuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible sessionTorben Knerr
 
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Torben Knerr
 
German Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als CodeGerman Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als CodeJan Gehring
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoATIX AG
 
Server 2012 Hyper-V & Client Hyper-V
Server 2012 Hyper-V & Client Hyper-VServer 2012 Hyper-V & Client Hyper-V
Server 2012 Hyper-V & Client Hyper-VDigicomp Academy AG
 
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwaltenDevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwaltenDevDay Dresden
 
Dev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftDev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftBart Zwager
 
Agile Bodensee - Introducing Continuous Delivery
Agile Bodensee - Introducing Continuous DeliveryAgile Bodensee - Introducing Continuous Delivery
Agile Bodensee - Introducing Continuous Deliverypingworks
 

La actualidad más candente (17)

Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rex
 
Trivadis TechEvent 2016 Ablösung einer Tivoli Monitoring Umgebung mit OpenSou...
Trivadis TechEvent 2016 Ablösung einer Tivoli Monitoring Umgebung mit OpenSou...Trivadis TechEvent 2016 Ablösung einer Tivoli Monitoring Umgebung mit OpenSou...
Trivadis TechEvent 2016 Ablösung einer Tivoli Monitoring Umgebung mit OpenSou...
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
PHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware ImagesPHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware Images
 
Einführung in Opscode Chef - Voraussetzungen
Einführung in Opscode Chef - VoraussetzungenEinführung in Opscode Chef - Voraussetzungen
Einführung in Opscode Chef - Voraussetzungen
 
Zuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible sessionZuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible session
 
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
 
German Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als CodeGerman Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als Code
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhino
 
Server 2012 Hyper-V & Client Hyper-V
Server 2012 Hyper-V & Client Hyper-VServer 2012 Hyper-V & Client Hyper-V
Server 2012 Hyper-V & Client Hyper-V
 
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwaltenDevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
 
Was ist Docker ?
Was ist Docker ?Was ist Docker ?
Was ist Docker ?
 
Dev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftDev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei Technosoft
 
Agile Bodensee - Introducing Continuous Delivery
Agile Bodensee - Introducing Continuous DeliveryAgile Bodensee - Introducing Continuous Delivery
Agile Bodensee - Introducing Continuous Delivery
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

Destacado

Guía de Investigación N° 1 Informática
Guía de Investigación N° 1 InformáticaGuía de Investigación N° 1 Informática
Guía de Investigación N° 1 Informáticaignacia12345
 
NÚRIA FABRELLAS
NÚRIA FABRELLASNÚRIA FABRELLAS
NÚRIA FABRELLASmon639
 
Arthur e Seu Primeiro Aninho
Arthur e Seu Primeiro AninhoArthur e Seu Primeiro Aninho
Arthur e Seu Primeiro AninhoPetrusReis
 
FLUPA "Serious Games" - Olivier Zéphir - Les serious games, une interface per...
FLUPA "Serious Games" - Olivier Zéphir - Les serious games, une interface per...FLUPA "Serious Games" - Olivier Zéphir - Les serious games, une interface per...
FLUPA "Serious Games" - Olivier Zéphir - Les serious games, une interface per...Flupa
 
Trabajos realizados durante el curso
Trabajos realizados durante el cursoTrabajos realizados durante el curso
Trabajos realizados durante el cursojuanjoseji
 
FLUPA UX-Days 2016 - "Lean UX & développement agile" par Nicolas Samir
FLUPA UX-Days 2016 - "Lean UX & développement agile" par Nicolas SamirFLUPA UX-Days 2016 - "Lean UX & développement agile" par Nicolas Samir
FLUPA UX-Days 2016 - "Lean UX & développement agile" par Nicolas SamirFlupa
 

Destacado (7)

Guía de Investigación N° 1 Informática
Guía de Investigación N° 1 InformáticaGuía de Investigación N° 1 Informática
Guía de Investigación N° 1 Informática
 
NÚRIA FABRELLAS
NÚRIA FABRELLASNÚRIA FABRELLAS
NÚRIA FABRELLAS
 
Arthur e Seu Primeiro Aninho
Arthur e Seu Primeiro AninhoArthur e Seu Primeiro Aninho
Arthur e Seu Primeiro Aninho
 
FLUPA "Serious Games" - Olivier Zéphir - Les serious games, une interface per...
FLUPA "Serious Games" - Olivier Zéphir - Les serious games, une interface per...FLUPA "Serious Games" - Olivier Zéphir - Les serious games, une interface per...
FLUPA "Serious Games" - Olivier Zéphir - Les serious games, une interface per...
 
Trabajos realizados durante el curso
Trabajos realizados durante el cursoTrabajos realizados durante el curso
Trabajos realizados durante el curso
 
Seminario 8
Seminario 8Seminario 8
Seminario 8
 
FLUPA UX-Days 2016 - "Lean UX & développement agile" par Nicolas Samir
FLUPA UX-Days 2016 - "Lean UX & développement agile" par Nicolas SamirFLUPA UX-Days 2016 - "Lean UX & développement agile" par Nicolas Samir
FLUPA UX-Days 2016 - "Lean UX & développement agile" par Nicolas Samir
 

Similar a Continuous Deployment mit Rex und Jenkins

Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Martin Schurz - Testing ist nicht nur etwas für Anwendungssoftware.pdf
Martin Schurz - Testing ist nicht nur etwas für Anwendungssoftware.pdfMartin Schurz - Testing ist nicht nur etwas für Anwendungssoftware.pdf
Martin Schurz - Testing ist nicht nur etwas für Anwendungssoftware.pdfCarolinaMatthies1
 
Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastrukturinovex GmbH
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
Migration zum Zend Framework 3
Migration zum Zend Framework 3Migration zum Zend Framework 3
Migration zum Zend Framework 3Ralf Eggert
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Infonova Devopscon München 2015
Infonova Devopscon München 2015Infonova Devopscon München 2015
Infonova Devopscon München 2015Georg Öttl
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCBild GmbH & Co. KG
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppetinovex GmbH
 
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Alex Sili
 
Virtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine StandorbestimmungVirtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine StandorbestimmungHenning Sprang
 
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...inovex GmbH
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice ArchitekturenLeo Lindhorst
 

Similar a Continuous Deployment mit Rex und Jenkins (20)

Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Martin Schurz - Testing ist nicht nur etwas für Anwendungssoftware.pdf
Martin Schurz - Testing ist nicht nur etwas für Anwendungssoftware.pdfMartin Schurz - Testing ist nicht nur etwas für Anwendungssoftware.pdf
Martin Schurz - Testing ist nicht nur etwas für Anwendungssoftware.pdf
 
Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastruktur
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
Migration zum Zend Framework 3
Migration zum Zend Framework 3Migration zum Zend Framework 3
Migration zum Zend Framework 3
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Infonova Devopscon München 2015
Infonova Devopscon München 2015Infonova Devopscon München 2015
Infonova Devopscon München 2015
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Infra coders meetup
Infra coders meetupInfra coders meetup
Infra coders meetup
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppet
 
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
 
Virtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine StandorbestimmungVirtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine Standorbestimmung
 
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice Architekturen
 

Más de inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

Más de inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Continuous Deployment mit Rex und Jenkins

  • 1. Continuous Deployment mit Rex und Jenkins Miriam Bergmann IT Engineering & Operations Berlin, 23.05.2013
  • 2. 2 1.  About Me 2.  Continuous Deployment 3.  Rex 4.  Jenkins 5.  Kleine Demo 6.  Fragen Agenda ... was erwartet euch?
  • 3. 3 ‣  Miriam Bergmann ‣  Angestellt bei der inovex GmbH als Systems Engineer ‣  Aufbau und Betrieb komplexer Systemlandschaften und Applikationen ‣  Automatisierung von Betriebsabläufen wie Softwaredeployments About Me ...wer steht da denn?
  • 4. 4 ‣  Anforderungen des Kunden / Projektes ‣  Agile Releasezyklen erfordern viele kleine atomare Deployments ‣  Realität sieht häufig anders aus: ‣  Probleme beim Deployment ‣  Deployment auf Produktion funktioniert nicht ‣  Nicht reproduzierbare Fehler ‣  „works on my box“ ‣  komplexe Abhängigkeiten zwischen den Komponenten ‣  Verschiedene Applikationen, verschiedene Deploymentmechanismen – Deployment als Wissenschaft für sich ‣  Komplexität führt zu seltenen zeitintensiven Deployments Continuous Deployment ... warum brauche ich das?
  • 5. 5 ‣  Einsatz vom einheitlichen Tooling zum Deployment ‣  Für alle Applikationen ‣  Auf allen Umgebungen ‣  Deployment als Teil des Softwarereleaseprozesses ‣  Tests des Deploymentprozesses Continuous Deployment ... was kann ich mir darunter vorstellen?
  • 6. 6 ‣  Idee ist nicht neu ‣  Es gibt nicht nur eine Umsetzungsmöglichkeit ‣  Wahl der Tools und der Umsetzung abhängig von verschiedenen Faktoren ‣  Skills und Vorlieben des betreuenden Teams ‣  Art der Applikation ‣  Grad der Komplexität ‣  Prozess forcieren und aktiv leben Continuous Deployment ... wie stelle ich das am Besten an?
  • 7. 7 ‣  Rex als Deployment Tool ‣  Jenkins zum Abbilden des Prozesses (Berechtigungen, Freigaben, Durchlauf der Softwarepakete durch die verschiedenen Umgebungen) Continuous Deployment ... was haben wir daraus gemacht?
  • 8. 8 ‣  Steht für Remote Execution ‣  http://rexify.org/ ‣  Implementiert in Perl ‣  over ssh ‣  Configmanagement und Deployments Rex ... wer oder was ist das?
  • 9. 9 ‣  Perl ist unter Admins recht verbreitet ‣  Rex erfordert nicht viele Perlkenntnisse ‣  ein File ‣  zentral ‣  sequentielle Abarbeitung ‣  Aufteilung in sogenannte Tasks für die Übersichtlichkeit Rex ... warum nicht ...?
  • 10. 10 ‣  Aufbau eines Repos auf dem zentralen Deploymenthost: Rex ... seht selbst!
  • 11. 11 ‣  Nur ssh Zugriff auf den zu deployenden Hosts nötig ‣  Definition von Hostgruppen ‣  Basisconfig: Rex ... seht selbst!
  • 12. 12 ‣  Umgebungsspezifische Pfade für Configs und Packages Rex ... seht selbst!
  • 14. 14 ‣  Aufruf ganz simpel: Rex ... seht selbst!
  • 15. 15 ‣  CI Server ‣  implementiert in Java ‣  Tool zur Jobausführung und Jobüberwachung ‣  Jenkinsintegration von Rex Jenkins ... wofür dann Jenkins?
  • 16. 16 ‣  Konfiguration ‣  Plugins ‣  Jenkins Dynamic Parameter Plugin ‣  Promoted Builds Plugin ‣  Abbilden des Deploymentprozesses ‣  Ansichten = Umgebungen ‣  Jobs = Applikationen ‣  Freigabeprozess ‣  Rechtemanagement ‣  Promote Actions ‣  Einbindung von Rex (Aufrufe, Konfiguration der Tasks) Jenkins ... Setup
  • 17. 17 Vielen Dank für die Aufmerksamkeit ! Fragen? Fragen
  • 18. 18 Vielen Dank für Ihre Aufmerksamkeit Kontakt Miriam Bergmann Systems Engineer inovex GmbH Office Pforzheim Karlsruher Str. 72 75179 Pforzheim 0173 3181055 miriam.bergmann@inovex.de