Deployment pipeline mit maven, chef und jenkins

of 22 /22
by Wulf-Thilo Schreiter Berlin, 2016-03-30 Deployment Pipeline mit Maven, Chef und Jenkins.

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.

  • Rckblick und Zukunft

    Mengenlehre

    Auswahl der Werkzeuge

    Manverkritik

    Deployment Pipeline mit Maven, Chef und Jenkins.

    Agenda

  • Rckblick und Zukunft

  • Deployments vor UDC

    Deployment Pipeline mit Maven, Chef und Jenkins.

    Rckblick und Zukunft

  • Deployments im UDC

    Deployment Pipeline mit Maven, Chef und Jenkins.

    Rckblick und Zukunft

  • Wo wir hin wollen

    Deployment Pipeline mit Maven, Chef und Jenkins.

    Rckblick 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 knnen 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

    https://www.go.cd/

  • 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

    http://www.lambda.cd/

  • 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

    https://jenkins.io

  • Manverkritik

  • Was funktioniert gut

    Deployments ohne auf die Bleche zu mssen

    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.

    Manverkritik

  • Was funktioniert nicht so gut

    Konflikthandling bei konkurrierenden Jobs

    Docker-Cookbooks bei den Sourcen sind schwer erfassbar

    Wir brauchen eine bessere Lsung fr das

    Versionsmanagement

    Die Chef Mechanismen fr viele Komponenten behindern uns

    Deployment Pipeline mit Maven, Chef und Jenkins.

    Manverkritik

  • Q & A