Deployment pipeline mit maven, chef und jenkins
-
Upload
bild-gmbh-co-kg -
Category
Internet
-
view
172 -
download
4
Embed Size (px)
Transcript of Deployment pipeline mit maven, chef und jenkins

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