SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
by Wulf-Thilo Schreiter
Berlin, 2016-03-30
Deployment Pipeline mit Maven,
Chef und Jenkins.
◼ Rückblick und Zukunft
◼ Mengenlehre
◼ Auswahl der Werkzeuge
◼ Manöverkritik
Deployment Pipeline mit Maven, Chef und Jenkins.
Agenda
Rückblick und Zukunft
Deployments vor UDC
Deployment Pipeline mit Maven, Chef und Jenkins.
Rückblick und Zukunft
Deployments im UDC
Deployment Pipeline mit Maven, Chef und Jenkins.
Rückblick und Zukunft
Wo wir hin wollen
Deployment Pipeline mit Maven, Chef und Jenkins.
Rückblick und Zukunft
Mengenlehre
Welche Arten von Builds haben wir
◼ Java/Maven
◼ NPM/Grunt
◼ Android/Gradle
◼ IOS/XCode
◼ Docker/Packer ( ja - keine Dockerfiles )
◼ Vagrant/Packer
◼ Chef/Cookbooks
◼ etc...
Deployment Pipeline mit Maven, Chef und Jenkins.
Mengenlehre
In Zahlen
◼ Java/Maven - CI-Builds: 18 - IT-Runs: 8
◼ NPM/Grunt - CI-Builds: 1
◼ Android/Gradle - CI-Builds: 1+ ( Komplet in Team-Hand)
◼ IOS/XCode - CI-Builds: 1+ ( Komplet in Team-Hand)
◼ Docker/Packer - CI-Builds: 97
◼ Vagrant/Packer - Noch keine Automatisierung
◼ Chef/Cookbooks- CI-Builds: 136
Deployment Pipeline mit Maven, Chef und Jenkins.
Mengenlehre
In Zahlen
◼ Jenkins-Hosts: 7 ( ohne QA )
◼ Jenkins-Jobs: > 500 ( nur Build & Deployment )
Deployment Pipeline mit Maven, Chef und Jenkins.
Mengenlehre
Auswahl der Werkzeuge
Maven
Deployment Pipeline mit Maven, Chef und Jenkins.
Auswahl der Werkzeuge
Maven - naja nicht nur Maven ;-)
◼ Build-Systeme können nur polimorth sein.
◼ Gleiche Anforderungen an alle Build-Systeme
a. Auch ohne UI
b. Keine externen Ressourcen
Deployment Pipeline mit Maven, Chef und Jenkins.
Auswahl der Werkzeuge
Chef
◼ Deployments mit Chef machen wir schon lange
◼ Wir nutzen die selben Werkzeuge
◼ innerhalb und
◼ ausserhalb der Container.
Deployment Pipeline mit Maven, Chef und Jenkins.
Auswahl der Werkzeuge
Jenkins
Deployment Pipeline mit Maven, Chef und Jenkins.
Auswahl der Werkzeuge
Jenkins - Warum nicht gocd
GOCD ( https://www.go.cd/ )
◼ ( + ) fokussiert auf Pipelines
◼ ( + ) Multiple Start-Repositories
◼ ( + ) tolles UI
◼ ( - ) alles muss im UI konfiguriert werden
◼ ( - ) keine DSL
Deployment Pipeline mit Maven, Chef und Jenkins.
Auswahl der Werkzeuge
Jenkins - Warum nicht LambdaCD
LambdaCD ( http://www.lambda.cd/ )
◼ ( + ) fokussiert auf Pipelines
◼ ( + ) Multiple Start-Repositories
◼ ( ++ ) alles ist Code
◼ ( -- ) basic UI only
◼ ( - ) nichts kann im UI konfiguriert werden
◼ ( -- ) keine Historie nach neustart.
Deployment Pipeline mit Maven, Chef und Jenkins.
Auswahl der Werkzeuge
Jenkins
Also doch Jenkins ( https://jenkins.io )
◼ ( + ) Multiple Start-Repositories
◼ ( + ) alles kann im UI konfiguriert werden
◼ ( + ) es gibt eine erweiterbare DSL
◼ ( +/- ) etwas angestaubtes UI
◼ ( - ) kein expliziter Fokus auf Pipelines
Deployment Pipeline mit Maven, Chef und Jenkins.
Auswahl der Werkzeuge
Manöverkritik
Was funktioniert gut
◼ Deployments ohne auf die Bleche zu müssen
◼ Dev & Stage deployments durch die Teams selbst
◼ Integration-Tests, da wo auch die Komponenten laufen
◼ Leichte änderbarkeit der Build-Konfigurationen
Deployment Pipeline mit Maven, Chef und Jenkins.
Manöverkritik
Was funktioniert nicht so gut
◼ Konflikthandling bei konkurrierenden Jobs
◼ Docker-Cookbooks bei den Sourcen sind schwer erfassbar
◼ Wir brauchen eine bessere Lösung für das
Versionsmanagement
◼ Die Chef Mechanismen für viele Komponenten behindern uns
Deployment Pipeline mit Maven, Chef und Jenkins.
Manöverkritik
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

Goobi-Tage 2019: Goobi-to-go Ersatz für Test-Server Überlegungen / Erfahrungen
Goobi-Tage 2019: Goobi-to-go Ersatz für Test-Server Überlegungen / ErfahrungenGoobi-Tage 2019: Goobi-to-go Ersatz für Test-Server Überlegungen / Erfahrungen
Goobi-Tage 2019: Goobi-to-go Ersatz für Test-Server Überlegungen / Erfahrungenintranda GmbH
 
Django & Buildout
Django & BuildoutDjango & Buildout
Django & Buildoutzerok
 
DDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungDDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungFrank Schmittlein
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...inovex GmbH
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungTilo Baller
 
docker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easydocker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easyinovex GmbH
 
Einführung React Native
Einführung React NativeEinführung React Native
Einführung React NativeMarkus Günther
 
Einführung in Laravel und GulpJS
Einführung in Laravel und GulpJSEinführung in Laravel und GulpJS
Einführung in Laravel und GulpJSthespazecookie
 
Continuous Integration mit Hudson
Continuous Integration mit HudsonContinuous Integration mit Hudson
Continuous Integration mit HudsonDr. Christian Betz
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easyinovex GmbH
 
Docker for Python Development
Docker for Python DevelopmentDocker for Python Development
Docker for Python DevelopmentMartin Christen
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)NETWAYS
 
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenContinuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenNicholas Dille
 
Entwicklungsumgebungen - Packer, Vagrant, Puppet
Entwicklungsumgebungen - Packer, Vagrant, PuppetEntwicklungsumgebungen - Packer, Vagrant, Puppet
Entwicklungsumgebungen - Packer, Vagrant, Puppetinovex GmbH
 
Tipps und Tricks im Umgang mit Docker
Tipps und Tricks im Umgang mit DockerTipps und Tricks im Umgang mit Docker
Tipps und Tricks im Umgang mit DockerNicholas Dille
 
Infonova Devopscon München 2015
Infonova Devopscon München 2015Infonova Devopscon München 2015
Infonova Devopscon München 2015Georg Öttl
 

Was ist angesagt? (20)

Goobi-Tage 2019: Goobi-to-go Ersatz für Test-Server Überlegungen / Erfahrungen
Goobi-Tage 2019: Goobi-to-go Ersatz für Test-Server Überlegungen / ErfahrungenGoobi-Tage 2019: Goobi-to-go Ersatz für Test-Server Überlegungen / Erfahrungen
Goobi-Tage 2019: Goobi-to-go Ersatz für Test-Server Überlegungen / Erfahrungen
 
Django & Buildout
Django & BuildoutDjango & Buildout
Django & Buildout
 
Deployment 2.0
Deployment 2.0Deployment 2.0
Deployment 2.0
 
Was ist Docker ?
Was ist Docker ?Was ist Docker ?
Was ist Docker ?
 
DDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungDDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale Entwicklungsumgebung
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & Verwendung
 
docker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easydocker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easy
 
Einführung React Native
Einführung React NativeEinführung React Native
Einführung React Native
 
Einführung in Laravel und GulpJS
Einführung in Laravel und GulpJSEinführung in Laravel und GulpJS
Einführung in Laravel und GulpJS
 
Continuous Integration mit Hudson
Continuous Integration mit HudsonContinuous Integration mit Hudson
Continuous Integration mit Hudson
 
Grunt
GruntGrunt
Grunt
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
 
Docker for Python Development
Docker for Python DevelopmentDocker for Python Development
Docker for Python Development
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
 
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenContinuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
 
Entwicklungsumgebungen - Packer, Vagrant, Puppet
Entwicklungsumgebungen - Packer, Vagrant, PuppetEntwicklungsumgebungen - Packer, Vagrant, Puppet
Entwicklungsumgebungen - Packer, Vagrant, Puppet
 
Tipps und Tricks im Umgang mit Docker
Tipps und Tricks im Umgang mit DockerTipps und Tricks im Umgang mit Docker
Tipps und Tricks im Umgang mit Docker
 
Infonova Devopscon München 2015
Infonova Devopscon München 2015Infonova Devopscon München 2015
Infonova Devopscon München 2015
 

Ähnlich wie Deployment pipeline mit maven, chef 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
 
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauenjohofer
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!Tobias Schneck
 
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
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployMark Lechtermann
 
JAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascriptdzuvic
 
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
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen....NET User Group Rhein-Neckar
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...Marc Müller
 
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
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Thorsten Kamann
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit RustJens Siebert
 
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenBob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenTorsten Kleiber
 
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)Wiest Simon
 
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesContinuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesTobias Schneck
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoATIX AG
 

Ähnlich wie Deployment pipeline mit maven, chef 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
 
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauen
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
 
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
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
 
JAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascript
 
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
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
 
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
 
Jenkins Acceleration
Jenkins AccelerationJenkins Acceleration
Jenkins Acceleration
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
 
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenBob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
 
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesContinuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhino
 

Deployment pipeline mit maven, chef und jenkins

  • 1. by Wulf-Thilo Schreiter Berlin, 2016-03-30 Deployment Pipeline mit Maven, Chef und Jenkins.
  • 2. ◼ Rückblick und Zukunft ◼ Mengenlehre ◼ Auswahl der Werkzeuge ◼ Manöverkritik Deployment Pipeline mit Maven, Chef und Jenkins. Agenda
  • 4. Deployments vor UDC Deployment Pipeline mit Maven, Chef und Jenkins. Rückblick und Zukunft
  • 5. Deployments im UDC Deployment Pipeline mit Maven, Chef und Jenkins. Rückblick und Zukunft
  • 6. Wo wir hin wollen Deployment Pipeline mit Maven, Chef und Jenkins. Rückblick und Zukunft
  • 8. Welche Arten von Builds haben wir ◼ Java/Maven ◼ NPM/Grunt ◼ Android/Gradle ◼ IOS/XCode ◼ Docker/Packer ( ja - keine Dockerfiles ) ◼ Vagrant/Packer ◼ Chef/Cookbooks ◼ etc... Deployment Pipeline mit Maven, Chef und Jenkins. Mengenlehre
  • 9. In Zahlen ◼ Java/Maven - CI-Builds: 18 - IT-Runs: 8 ◼ NPM/Grunt - CI-Builds: 1 ◼ Android/Gradle - CI-Builds: 1+ ( Komplet in Team-Hand) ◼ IOS/XCode - CI-Builds: 1+ ( Komplet in Team-Hand) ◼ Docker/Packer - CI-Builds: 97 ◼ Vagrant/Packer - Noch keine Automatisierung ◼ Chef/Cookbooks- CI-Builds: 136 Deployment Pipeline mit Maven, Chef und Jenkins. Mengenlehre
  • 10. In Zahlen ◼ Jenkins-Hosts: 7 ( ohne QA ) ◼ Jenkins-Jobs: > 500 ( nur Build & Deployment ) Deployment Pipeline mit Maven, Chef und Jenkins. Mengenlehre
  • 12. Maven Deployment Pipeline mit Maven, Chef und Jenkins. Auswahl der Werkzeuge
  • 13. Maven - naja nicht nur Maven ;-) ◼ Build-Systeme können nur polimorth sein. ◼ Gleiche Anforderungen an alle Build-Systeme a. Auch ohne UI b. Keine externen Ressourcen Deployment Pipeline mit Maven, Chef und Jenkins. Auswahl der Werkzeuge
  • 14. Chef ◼ Deployments mit Chef machen wir schon lange ◼ Wir nutzen die selben Werkzeuge ◼ innerhalb und ◼ ausserhalb der Container. Deployment Pipeline mit Maven, Chef und Jenkins. Auswahl der Werkzeuge
  • 15. Jenkins Deployment Pipeline mit Maven, Chef und Jenkins. Auswahl der Werkzeuge
  • 16. Jenkins - Warum nicht gocd GOCD ( https://www.go.cd/ ) ◼ ( + ) fokussiert auf Pipelines ◼ ( + ) Multiple Start-Repositories ◼ ( + ) tolles UI ◼ ( - ) alles muss im UI konfiguriert werden ◼ ( - ) keine DSL Deployment Pipeline mit Maven, Chef und Jenkins. Auswahl der Werkzeuge
  • 17. Jenkins - Warum nicht LambdaCD LambdaCD ( http://www.lambda.cd/ ) ◼ ( + ) fokussiert auf Pipelines ◼ ( + ) Multiple Start-Repositories ◼ ( ++ ) alles ist Code ◼ ( -- ) basic UI only ◼ ( - ) nichts kann im UI konfiguriert werden ◼ ( -- ) keine Historie nach neustart. Deployment Pipeline mit Maven, Chef und Jenkins. Auswahl der Werkzeuge
  • 18. Jenkins Also doch Jenkins ( https://jenkins.io ) ◼ ( + ) Multiple Start-Repositories ◼ ( + ) alles kann im UI konfiguriert werden ◼ ( + ) es gibt eine erweiterbare DSL ◼ ( +/- ) etwas angestaubtes UI ◼ ( - ) kein expliziter Fokus auf Pipelines Deployment Pipeline mit Maven, Chef und Jenkins. Auswahl der Werkzeuge
  • 20. Was funktioniert gut ◼ Deployments ohne auf die Bleche zu müssen ◼ Dev & Stage deployments durch die Teams selbst ◼ Integration-Tests, da wo auch die Komponenten laufen ◼ Leichte änderbarkeit der Build-Konfigurationen Deployment Pipeline mit Maven, Chef und Jenkins. Manöverkritik
  • 21. Was funktioniert nicht so gut ◼ Konflikthandling bei konkurrierenden Jobs ◼ Docker-Cookbooks bei den Sourcen sind schwer erfassbar ◼ Wir brauchen eine bessere Lösung für das Versionsmanagement ◼ Die Chef Mechanismen für viele Komponenten behindern uns Deployment Pipeline mit Maven, Chef und Jenkins. Manöverkritik
  • 22. Q & A