6/15/2016
Continuous Delivery of Continuous Delivery
CONTINUOUS DELIVERY OF CONTINUOUS DELIVERY Gerd Aschemann
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
1/21
6/15/2016
Continuous Delivery of Continuous Delivery
ENTWICKLERTAG KARLSRUHE 2016 Gerd Aschemann
[email protected] http://aschemann.net twitter: @GerdAschemann
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
2/21
6/15/2016
Continuous Delivery of Continuous Delivery
FRAGESTUNDE Wer nutzt Continuous Integration? Wer betreibt Continuous Delivery? Wer setzt auf Infrastructure as Code (IaC)? Wer baut seine CIP/CDP per IaC? Wem sagt das alles gar nichts?
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
3/21
6/15/2016
Continuous Delivery of Continuous Delivery
EIN DRAMA IN FÜNF AUFZÜGEN Vagrant-Setup! Demonstration von CD4CD Vagrant Puppet (+ Shell + Perl) Jenkins (+ Maven) Docker/Nexus Was/Wie/Warum oder Warum nicht? → Platform as Code (PaC)!
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
4/21
6/15/2016
Continuous Delivery of Continuous Delivery
ZIEL-ARCHITEKTUR (VEREINFACHT) Devops-Engineer Change
«Linux/Windows/OSX/...» Developer-PC «Linux» Meta-Build-Server
LocalDevelopment «Git» Local_Repository
«Jenkins» Jenkins_Master
Vagrant Up
Push
Pull
«Vagrant» LocalVM «SCM-Manager» SCM-Manager_Local
Check Out
LatestDevelopment «Jenkins» Jenkins_Local
«SCM-Manager» SCM-Manager_Master
«Git» Latest_Repository
Vagrant Up
«Vagrant» LatestVM «SCM-Manager» SCM-Manager_Latest
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
«Jenkins» Jenkins_Latest
5/21
6/15/2016
Continuous Delivery of Continuous Delivery
STAGE 0: BASE modules/ (base/) scripts/init.sh puppet/init.pp composites scripts/run.sh lists/minimal Vagrantfile
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
6/21
6/15/2016
Continuous Delivery of Continuous Delivery
BASE/SCRIPTS/INIT.SH Install puppet Install puppet modules stdlib etckeeper
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
7/21
6/15/2016
Continuous Delivery of Continuous Delivery
BASE/PUPPET/INIT.PP Purge packages (NFS, …) Install packages (git, perl-test, …) Setup hiera Setup etckeeper!
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
8/21
6/15/2016
Continuous Delivery of Continuous Delivery
COMPOSITES lists/minimal
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
9/21
6/15/2016
Continuous Delivery of Continuous Delivery
VAGRANTFILE Environment Boxname Memory IP/Port Ranges Caching! Provision: composite (minimal)
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
10/21
6/15/2016
Continuous Delivery of Continuous Delivery
STAGE 1: JENKINS Neu: modules/jenkins-native scripts/init.sh: Wie gehabt puppet/init.pp !!! composite/lists: jenkins-only NEU: scripts/test.pl Das ist ein Unit-Test! Ist das ein Unit-Test?
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
11/21
6/15/2016
Continuous Delivery of Continuous Delivery
STAGE 2: JENKINS INTEGRATION TEST Neu: modules/it-jenkins-minimal scripts, composites: Wie gehabt puppet/init.sh Seed Job HelloWorld Integrations-Test: Wurden die Jobs ausgeführt?
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
12/21
6/15/2016
Continuous Delivery of Continuous Delivery
STAGE 3: DOCKER Neu: modules/data Neu: modules/docker Manuelle/Inkrementelle Ausführung führt zu Fehler?! Keine Änderung in Vagrantfile/composites
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
13/21
6/15/2016
Continuous Delivery of Continuous Delivery
STAGE 4: NEXUS Neu: modules/nexus Keine Änderung in Vagrantfile/composites Puppet Docker-Module erzeugt OS-Service (Nexus)
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
14/21
6/15/2016
Continuous Delivery of Continuous Delivery
STAGE 5: JENKINS + NEXUS INTEGRATION TEST Neu: modules/jenkins-settings-nexus-localhost Neu: modules/it-jenkins-nexus-minimal Neu: composites/lists/it-jenkins-nexus-minimal
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
15/21
6/15/2016
Continuous Delivery of Continuous Delivery
USE CASES Kontinuierliche Fortentwicklung der CDP Automatisierter regelmäßiger (Neu) Aufbau der CDP Testen neuer Komponenten(versionen) Testen neuer Prozesse Schulung/Einarbeitung
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
16/21
6/15/2016
Continuous Delivery of Continuous Delivery
ENVIRONMENTS / CD STAGES Development/Continuous Integration (Automatisierte Tests) User Acceptance Test (Exploratives Testen) (Performance/Exception/… Tests) Produktion
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
17/21
6/15/2016
Continuous Delivery of Continuous Delivery
OFFENE FRAGE(N) Was ist mit dem Zustand (in Produktion)? Administrativer Zustand → PaC Operativer Zustand → it depends Repositories Alte Instanz(en) vorhalten? Backup?
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
18/21
6/15/2016
Continuous Delivery of Continuous Delivery
FAZIT CD-Plattform als PaC realisiert Nutzung von Virtualisierung und Containern Modularisierung und Aggregation Puppet ist oft hakelig (Ansible auch) Ausblick: Feedback-Loops/Monitoring fehlt Unabhängigkeit von Puppet/Ansible/Salt/Chef???
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
19/21
6/15/2016
Continuous Delivery of Continuous Delivery
LINKS Beispiele: https://github.com/devopssquare/demo-etka16 https://github.com/devopssquare/helloworld https://github.com/devopssquare/helloworld-seed Slides: http://aschemann.net/gerd/publications/cdofcd- etka2016.pdf
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
20/21
6/15/2016
Continuous Delivery of Continuous Delivery
DANKE!
file:///Users/ascheman/wrk/devopssquare/etka16/target/generated-slides/etka16.html
21/21