Continuous Everything
Development, Integration, Deployment, DevOps
Peter Hormanns
cusy GmbH, Berlin
Vortrag | Linuxday Dor...
Kapitelyou + me + cusy
Herzlich Willkommen
Peter Hormanns
• Java Developer
• DevOps
• Free Software Consultant
you + me + cusy
you + me + cusy
cusy.io
– SaaS – Software as a Service
– Spezialisierung auf Entwickler-Werkzeuge
– Datenschutz nach deuts...
Agenda
– Vorstellung und Agenda
– Die Idee Continuous Delivery und Continuous
Deployment
– Werkzeuge für Continuous Delive...
Motivation
Unsere höchste Priorität ist es, den Kunden durch 

frühe und kontinuierliche Auslieferung wertvoller
Software ...
Herausforderungen
Development Operations
kontinuierliche Änderung Stabilität
Iterationen (2 pro Monat) Releases (2 pro Jah...
DevOps: Continuous Everything
Continuous Everything
DevOps: Continuous Everything
Continuous Everything
DevOps: Continuous Everything
Continuous Everything
DevOps: Continuous Everything
Continuous Everything
DevOps: Continuous Everything
Continuous Everything
Worum geht es?
In einem Continuous Integration Projekt mergen und
commiten alle Entwickler kontinulierlich ihren
Arbeitsfo...
Continuous Integration Regeln
– jeder Entwickler integriert seine Änderungen
mindestens täglich
Continuous Everything
Continuous Integration Regeln
– jeder Entwickler integriert seine Änderungen
mindestens täglich
– jeder Push wird durch Bu...
Continuous Integration Regeln
– jeder Entwickler integriert seine Änderungen
mindestens täglich
– jeder Push wird durch Bu...
Continuous Integration Regeln
– jeder Entwickler integriert seine Änderungen
mindestens täglich
– jeder Push wird durch Bu...
plan code build test release deploy operate
DevOps Toolchain
Continuous Everything Toolchain
– Projektmanagement, Backlog
...
plan code build test release deploy operate
DevOps Toolchain
– Entwicklung und Code-Review
– Versionskontrolle
Continuous ...
plan code build test release deploy operate
DevOps Toolchain
– Continuous Integration, Build-Werkzeuge
– Developer-Test-Au...
plan code build test release deploy operate
DevOps Toolchain
– Continuous-Integration, Testautomatisierung
– Integrationst...
plan code build test release deploy operate
DevOps Toolchain
– Paketierung
– Pre-Deployment-Staging
– Release-Automatisier...
plan code build test release deploy operate
DevOps Toolchain
– Konfiguration
– Production-Staging
– Infrastruktur als Code
...
plan code build test release deploy operate
DevOps Toolchain
– Logging
– Exception-Handling
– Performance-Monitoring
– Ser...
plan code build test release deploy operate
Dokumenten-
management
Projekt-
management
Code Review
Versions-
verwaltung
Gi...
Unsere Situation
– Am Projekt arbeitet ein kleines verteiltes Team 

(zwei bis drei Entwickler)
– mehrere kleine Software-...
Anforderungen an 

Continuous Integration
!
!
– Alle Änderungen nachvollziehbar
– Einfacher Git-Workflow
– Automatische Tes...
Anforderungen an 

Continuous Delivery
!
!
– Release-Tagging im Git
– automatisiertes Packaging
– automatisierte Konfigurat...
Lösungen
– Git Self-Hosting Gitblit mit grafischer Oberfläche
– Maven Projekt- und Build-Tool mit Plugins
– Jenkins Contiuou...
Lösungen – Gitblit
Freie Alternative („self-hosted“) zu Github
– 2005 Linux Kernel Entwickler entwickeln Git als
Alternati...
Lösungen – Maven
Java Build Automation
– 2000 Apache Ant, eine Art „make für Java-Projekte“
– 2004 erstes Maven Release
– ...
Lösungen – Jenkins CI
Continuous Integration
– 2001 Agiles Manifest: Continuous Integration
– 2005 Hudson 1.0
– 2010 im Ja...
Lösungen – Ansible
Configurationmanagement, Infrastructure as Code
– 1993 CFEngine
– 2005 Puppet
– 2012 Ansible: „DevOps“ o...
Continuous Configuration
Automation
!
!
Die Werkzeuge in der Praxis (Beispielprojekt)
Continuous Everything Tools Demo
Development/
Testing
Production Development/Testing Production
Infrastructure
Applications
Infrastructure
Applications
Dev...
Development/
Testing
Production Development/Testing Production
Infrastructure
Applications
Infrastructure
Applications
Dev...
Development/
Testing
Production Development/Testing Production
Infrastructure
Applications
Infrastructure
Applications
Dev...
Fragen und Diskussion
Ich freue mich auf Eure Fragen, Ideen und
Diskussionsbeiträge.
Kontakt
www.cusy.io/peter
info@cusy.io
@cusyio
+CusyIo
Bildnachweise
– droidcon Berlin 2015 – Hackathon; cc BY-SA 2.0: droidcon Global
– Peter Hormanns 
– Cusy-Messestand; Veit ...
Nächste SlideShare
Wird geladen in …5
×

Continuous everything

257 Aufrufe

Veröffentlicht am

Der Iterations-Zylus, in dem Software-Entwickler arbeiten, hat sich in den letzten Jahren schrittweise erweitert: Entwicklung, Entwickler-Test, Integration, Akzeptanz-Test, Deployment, Delivery. Zur DevOps-Kultur gehört die Bewältigung dieser Schritte im Entwickler-Team.

Veröffentlicht in: Internet
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
257
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
9
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Continuous everything

  1. 1. Continuous Everything Development, Integration, Deployment, DevOps Peter Hormanns cusy GmbH, Berlin Vortrag | Linuxday Dornbirn | 26. November 2016 de.slideshare.net/cusyio/continuous-everything
  2. 2. Kapitelyou + me + cusy Herzlich Willkommen
  3. 3. Peter Hormanns • Java Developer • DevOps • Free Software Consultant you + me + cusy
  4. 4. you + me + cusy cusy.io – SaaS – Software as a Service – Spezialisierung auf Entwickler-Werkzeuge – Datenschutz nach deutschem / europäischem Recht
  5. 5. Agenda – Vorstellung und Agenda – Die Idee Continuous Delivery und Continuous Deployment – Werkzeuge für Continuous Delivery und Continuous Deployment – Die Werkzeuge im Beispielprojekt – Diskussion
  6. 6. 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
  7. 7. Herausforderungen Development Operations kontinuierliche Änderung Stabilität Iterationen (2 pro Monat) Releases (2 pro Jahr) Infrastrukturtests Funktionalitätstests ! Continuous Everything
  8. 8. DevOps: Continuous Everything Continuous Everything
  9. 9. DevOps: Continuous Everything Continuous Everything
  10. 10. DevOps: Continuous Everything Continuous Everything
  11. 11. DevOps: Continuous Everything Continuous Everything
  12. 12. DevOps: Continuous Everything Continuous Everything
  13. 13. 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
  14. 14. Continuous Integration Regeln – jeder Entwickler integriert seine Änderungen mindestens täglich Continuous Everything
  15. 15. Continuous Integration Regeln – jeder Entwickler integriert seine Änderungen mindestens täglich – jeder Push wird durch Build und Tests verifiziert Continuous Everything
  16. 16. 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
  17. 17. 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
  18. 18. plan code build test release deploy operate DevOps Toolchain Continuous Everything Toolchain – Projektmanagement, Backlog – Dokumentation, Wiki
  19. 19. plan code build test release deploy operate DevOps Toolchain – Entwicklung und Code-Review – Versionskontrolle Continuous Everything Toolchain
  20. 20. plan code build test release deploy operate DevOps Toolchain – Continuous Integration, Build-Werkzeuge – Developer-Test-Automatisierung Continuous Everything Toolchain
  21. 21. plan code build test release deploy operate DevOps Toolchain – Continuous-Integration, Testautomatisierung – Integrationstests – Akzeptanztests Continuous Everything Toolchain
  22. 22. plan code build test release deploy operate DevOps Toolchain – Paketierung – Pre-Deployment-Staging – Release-Automatisierung Continuous Everything Toolchain
  23. 23. plan code build test release deploy operate DevOps Toolchain – Konfiguration – Production-Staging – Infrastruktur als Code Continuous Everything Toolchain
  24. 24. plan code build test release deploy operate DevOps Toolchain – Logging – Exception-Handling – Performance-Monitoring – Service-Desk Continuous Everything Toolchain
  25. 25. plan code build test release deploy operate Dokumenten- management Projekt- management Code Review Versions- verwaltung Gitblit Build Continuous Integration Release HelpdeskDeploy Webanalyse Log-Management & Analyse cusy Lifecycle Werkzeuge Continuous Everything Toolchain
  26. 26. 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
  27. 27. Anforderungen an 
 Continuous Integration ! ! – Alle Änderungen nachvollziehbar – Einfacher Git-Workflow – Automatische Tests – Entwickler- (=Unit-)Tests – Integrations-/Akzeptanztest ! Continuous Everything Toolchain
  28. 28. Anforderungen an 
 Continuous Delivery ! ! – Release-Tagging im Git – automatisiertes Packaging – automatisierte Konfiguration – automatisiertes Deployment Continuous Everything Toolchain
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. Lösungen – Ansible Configurationmanagement, Infrastructure as Code – 1993 CFEngine – 2005 Puppet – 2012 Ansible: „DevOps“ ohne root-Rechte ! Continuous Configuration Automation Continuous Everything Toolchain
  34. 34. Continuous Configuration Automation ! ! Die Werkzeuge in der Praxis (Beispielprojekt) Continuous Everything Tools Demo
  35. 35. Development/ Testing Production Development/Testing Production Infrastructure Applications Infrastructure Applications Developers Operators Infrastructure ApplicationsDevelopers Operators DevOps-Schnittstelle DevOps-Schnittstelle
  36. 36. Development/ Testing Production Development/Testing Production Infrastructure Applications Infrastructure Applications Developers Operators Infrastructure ApplicationsDevelopers Operators DevOps-Schnittstelle DevOps-Schnittstelle
  37. 37. Development/ Testing Production Development/Testing Production Infrastructure Applications Infrastructure Applications Developers Operators Infrastructure ApplicationsDevelopers Operators DevOps-Schnittstelle DevOps-Schnittstelle
  38. 38. Fragen und Diskussion Ich freue mich auf Eure Fragen, Ideen und Diskussionsbeiträge.
  39. 39. Kontakt www.cusy.io/peter info@cusy.io @cusyio +CusyIo
  40. 40. 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

×