continuous everything
TRANSCRIPT
![Page 1: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/1.jpg)
Continuous EverythingDevelopment, Integration, Deployment, DevOps
Peter Hormanns cusy GmbH, Berlin Vortrag | Linuxday Dornbirn | 26. November 2016 de.slideshare.net/cusyio/continuous-everything
![Page 2: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/2.jpg)
Kapitelyou + me + cusy
Herzlich Willkommen
![Page 3: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/3.jpg)
Peter Hormanns• Java Developer
• DevOps
• Free Software Consultant
you + me + cusy
![Page 4: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/4.jpg)
you + me + cusy
cusy.io– SaaS – Software as a Service – Spezialisierung auf Entwickler-Werkzeuge – Datenschutz nach deutschem / europäischem Recht
![Page 5: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/5.jpg)
Agenda
– Vorstellung und Agenda – Die Idee Continuous Delivery und Continuous
Deployment – Werkzeuge für Continuous Delivery und
Continuous Deployment – Die Werkzeuge im Beispielprojekt – Diskussion
![Page 6: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/6.jpg)
Motivation
Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufriedenzustellen.
Erstes Prinzip des agilen Manifests (2001)
» «
Continuous Everything
![Page 7: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/7.jpg)
Herausforderungen
Development Operations kontinuierliche Änderung Stabilität Iterationen (2 pro Monat) Releases (2 pro Jahr) Infrastrukturtests Funktionalitätstests !
Continuous Everything
![Page 8: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/8.jpg)
DevOps: Continuous Everything
Continuous Everything
![Page 9: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/9.jpg)
DevOps: Continuous Everything
Continuous Everything
![Page 10: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/10.jpg)
DevOps: Continuous Everything
Continuous Everything
![Page 11: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/11.jpg)
DevOps: Continuous Everything
Continuous Everything
![Page 12: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/12.jpg)
DevOps: Continuous Everything
Continuous Everything
![Page 13: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/13.jpg)
Worum geht es?
In einem Continuous Integration Projekt mergen und commiten alle Entwickler kontinulierlich ihren Arbeitsfortschritt in einen gemeinsamen Branch.
CI-Werkzeuge stellen sicher, dass alle Änderungen valide und releasefähig sind.
Continuous Everything
![Page 14: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/14.jpg)
Continuous Integration Regeln
– jeder Entwickler integriert seine Änderungen mindestens täglich
Continuous Everything
![Page 15: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/15.jpg)
Continuous Integration Regeln
– jeder Entwickler integriert seine Änderungen mindestens täglich
– jeder Push wird durch Build und Tests verifiziert
Continuous Everything
![Page 16: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/16.jpg)
Continuous Integration Regeln
– jeder Entwickler integriert seine Änderungen mindestens täglich
– jeder Push wird durch Build und Tests verifiziert – unfertiger Code bleibt aussen vor (Developer- oder
Feature-Branch)
Continuous Everything
![Page 17: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/17.jpg)
Continuous Integration Regeln
– jeder Entwickler integriert seine Änderungen mindestens täglich
– jeder Push wird durch Build und Tests verifiziert – unfertiger Code bleibt aussen vor (Developer- oder
Feature-Branch) – fehlerhafte Builds werden sofort repariert oder
die Änderung wird verworfen
Continuous Everything
![Page 18: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/18.jpg)
plan code build test release deploy operate
DevOps Toolchain
Continuous Everything Toolchain
– Projektmanagement, Backlog – Dokumentation, Wiki
![Page 19: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/19.jpg)
plan code build test release deploy operate
DevOps Toolchain
– Entwicklung und Code-Review – Versionskontrolle
Continuous Everything Toolchain
![Page 20: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/20.jpg)
plan code build test release deploy operate
DevOps Toolchain
– Continuous Integration, Build-Werkzeuge – Developer-Test-Automatisierung
Continuous Everything Toolchain
![Page 21: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/21.jpg)
plan code build test release deploy operate
DevOps Toolchain
– Continuous-Integration, Testautomatisierung – Integrationstests – Akzeptanztests
Continuous Everything Toolchain
![Page 22: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/22.jpg)
plan code build test release deploy operate
DevOps Toolchain
– Paketierung – Pre-Deployment-Staging – Release-Automatisierung
Continuous Everything Toolchain
![Page 23: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/23.jpg)
plan code build test release deploy operate
DevOps Toolchain
– Konfiguration – Production-Staging – Infrastruktur als Code
Continuous Everything Toolchain
![Page 24: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/24.jpg)
plan code build test release deploy operate
DevOps Toolchain
– Logging – Exception-Handling – Performance-Monitoring – Service-Desk
Continuous Everything Toolchain
![Page 25: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/25.jpg)
plan code build test release deploy operate
Dokumenten-
management
&RQὮXHQFH
Projekt-
management
-LUD�6RIWZDUH
Code Review
*HUULW
Versions-
verwaltung
Gitblit
Build Continuous
Integration
Release
&RQὭJXUDWLRQ
$QVLEOH
Helpdesk
-LUD�6HUYLFH�'HVN
Deploy
Webanalyse
3LZLN
Log-Management
& Analyse
6HQWU\
-HQNLQV
cusy Lifecycle Werkzeuge
Continuous Everything Toolchain
![Page 26: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/26.jpg)
Unsere Situation
– Am Projekt arbeitet ein kleines verteiltes Team (zwei bis drei Entwickler)
– mehrere kleine Software-Komponenten – wir bieten eine DevOps Plattform an
→ eat your own dog food !
Continuous Everything Toolchain
![Page 27: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/27.jpg)
Anforderungen an Continuous Integration
!
!
– Alle Änderungen nachvollziehbar – Einfacher Git-Workflow – Automatische Tests
– Entwickler- (=Unit-)Tests – Integrations-/Akzeptanztest !
Continuous Everything Toolchain
![Page 28: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/28.jpg)
Anforderungen an Continuous Delivery
!
!
– Release-Tagging im Git – automatisiertes Packaging – automatisierte Konfiguration – automatisiertes Deployment
Continuous Everything Toolchain
![Page 29: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/29.jpg)
Lösungen
– Git Self-Hosting Gitblit mit grafischer Oberfläche – Maven Projekt- und Build-Tool mit Plugins – Jenkins Contiuous Integration Server – Ansible als Deployment-Automatisierung für DevOps
Continuous Everything Toolchain
![Page 30: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/30.jpg)
Lösungen – Gitblit
Freie Alternative („self-hosted“) zu Github – 2005 Linux Kernel Entwickler entwickeln Git als
Alternative zu BitKeeper – 2008 Github wird gegründet – 2009 JGit - Git Implementierung in reinem Java – seit 2011 kontinulierliche Entwicklung von Gitblit
durch James Moger – Alternativen Gitolite, Gitlab, Gogs
Continuous Everything Toolchain
![Page 31: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/31.jpg)
Lösungen – Maven
Java Build Automation – 2000 Apache Ant, eine Art „make für Java-Projekte“ – 2004 erstes Maven Release
– vorgegebene Projektstruktur – Verwaltung von Abhängigkeiten – Repositories für Build-Artefakte – Plugin-Architektur
Continuous Everything Toolchain
![Page 32: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/32.jpg)
Lösungen – Jenkins CI
Continuous Integration – 2001 Agiles Manifest: Continuous Integration – 2005 Hudson 1.0 – 2010 im Januar übernimmt Oracle Sun Microsystems – 2010/2011 Jenkins forks – 2016 Jenkins 2.0 – Alternativen: Gitlab CI, Travis CI (Webservice), Bamboo
(proprietär)
Continuous Everything Toolchain
![Page 33: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/33.jpg)
Lösungen – Ansible
Configurationmanagement, Infrastructure as Code – 1993 CFEngine – 2005 Puppet – 2012 Ansible: „DevOps“ ohne root-Rechte !
Continuous Configuration Automation
Continuous Everything Toolchain
![Page 34: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/34.jpg)
Continuous Configuration Automation!
!
Die Werkzeuge in der Praxis (Beispielprojekt)
Continuous Everything Tools Demo
![Page 35: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/35.jpg)
Development/Testing
Production Development/Testing Production
Infrastructure
Applications
Infrastructure
Applications
Developers Operators
Infrastructure
ApplicationsDevelopers
Operators
DevOps-Schnittstelle
DevOps-Schnittstelle
![Page 36: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/36.jpg)
Development/Testing
Production Development/Testing Production
Infrastructure
Applications
Infrastructure
Applications
Developers Operators
Infrastructure
ApplicationsDevelopers
Operators
DevOps-Schnittstelle
DevOps-Schnittstelle
![Page 37: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/37.jpg)
Development/Testing
Production Development/Testing Production
Infrastructure
Applications
Infrastructure
Applications
Developers Operators
Infrastructure
ApplicationsDevelopers
Operators
DevOps-Schnittstelle
DevOps-Schnittstelle
![Page 38: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/38.jpg)
Fragen und Diskussion
Ich freue mich auf Eure Fragen, Ideen und Diskussionsbeiträge.
![Page 39: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/39.jpg)
Kontakt
www.cusy.io/peter
@cusyio
+CusyIo
![Page 40: Continuous everything](https://reader031.vdocuments.mx/reader031/viewer/2022022202/587f3de21a28ab43318b5093/html5/thumbnails/40.jpg)
Bildnachweise– droidcon Berlin 2015 – Hackathon; cc BY-SA 2.0: droidcon Global – Peter Hormanns – Cusy-Messestand; Veit Schiele – Michael Gernhardt in space during STS-69 in 1995; PUBLIC DOMAIN: NASA