Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Continuous Everything

Continuous Everything

Herunterladen, um offline zu lesen

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.

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.

Weitere Verwandte Inhalte

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Continuous Everything

  1. 1. Continuous Everything Development, Integration, Deployment, DevOps Veit Schiele cusy GmbH, Berlin de.slideshare.net/cusyio/continuous-everything
  2. 2. Kapitelyou + me + cusy Herzlich Willkommen
  3. 3. Veit Schiele • Gründer und Geschäftsführer 
 der Cusy GmbH, einer datenschutzkonformen Entwicklungs- und Betriebsplattform • Enge Zusammenarbeit mit der Gesellschaft für Datenschutz und Datensicherheit e.V. (GDD) 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 ← vs. → Operations • kontinuierliche Änderung ← vs. → Stabilität • Termine • Iterationen (2 pro Monat) • Releases (2 pro Jahr) • Monitoring • der Infrastruktur ✔ • der Funktionalität ☹ 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 die Änderungen valide und releasefähig sind. Continuous Everything
  14. 14. 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
  15. 15. plan code build test release deploy operate DevOps Toolchain Continuous Everything Toolchain • Projektmanagement, Backlog • Dokumentation, Wiki
  16. 16. plan code build test release deploy operate DevOps Toolchain • Entwicklung und Code-Review • Versionskontrolle Continuous Everything Toolchain
  17. 17. plan code build test release deploy operate DevOps Toolchain • Continuous Integration, Build-Werkzeuge • Developer-Test-Automatisierung Continuous Everything Toolchain
  18. 18. plan code build test release deploy operate DevOps Toolchain • Continuous-Integration, Testautomatisierung • Integrationstests • Akzeptanztests Continuous Everything Toolchain
  19. 19. plan code build test release deploy operate DevOps Toolchain • Paketierung • Pre-Deployment-Staging • Release-Automatisierung Continuous Everything Toolchain
  20. 20. plan code build test release deploy operate DevOps Toolchain • Konfiguration • Production-Staging • Infrastruktur als Code Continuous Everything Toolchain
  21. 21. plan code build test release deploy operate DevOps Toolchain • Logging • Exception-Handling • Performance-Monitoring • Service-Desk Continuous Everything Toolchain
  22. 22. plan code build test release deploy operate Dokumenten- management Confluence Projekt- management Jira Software Code Review Gerrit Versions- verwaltung Gitblit Build Continuous Integration Release Configuration Ansible Helpdesk Jira Service Desk Deploy Webanalyse Piwik Log-Management & Analyse Sentry Jenkins cusy Lifecycle Werkzeuge Continuous Everything Toolchain
  23. 23. 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
  24. 24. Anforderungen an 
 Continuous Integration • Alle Änderungen nachvollziehbar • Einfacher Git-Workflow • Automatische Tests • Entwickler- (=Unit-)Tests • Integrations-/Akzeptanztest Continuous Everything Toolchain
  25. 25. Anforderungen an 
 Continuous Delivery • Release-Tagging im Git • automatisiertes Packaging • automatisierte Konfiguration • automatisiertes Deployment Continuous Everything Toolchain
  26. 26. 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
  27. 27. 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
  28. 28. 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
  29. 29. 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
  30. 30. Ansible Configurationmanagement, Infrastructure as Code • 1993 CFEngine • 2005 Puppet • 2012 Ansible: „DevOps“ ohne root-Rechte Continuous Configuration Automation Continuous Everything Toolchain
  31. 31. Continuous Configuration Automation Die Werkzeuge in der Praxis (Beispielprojekt) Continuous Everything Tools Demo
  32. 32. Development/ Testing Production Development/Testing Production Infrastructure Applications Infrastructure Applications Developers Operators Infrastructure ApplicationsDevelopers Operators DevOps-Schnittstelle DevOps-Schnittstelle
  33. 33. Development/ Testing Production Development/Testing Production Infrastructure Applications Infrastructure Applications Developers Operators Infrastructure ApplicationsDevelopers Operators DevOps-Schnittstelle DevOps-Schnittstelle
  34. 34. Development/ Testing Production Development/Testing Production Infrastructure Applications Infrastructure Applications Developers Operators Infrastructure ApplicationsDevelopers Operators DevOps-Schnittstelle DevOps-Schnittstelle
  35. 35. Fragen und Diskussion Ich freue mich auf Eure Fragen, Ideen und Diskussionsbeiträge.
  36. 36. Kontakt www.cusy.io/veit info@cusy.io @cusyio +CusyIo
  37. 37. Bildnachweise • droidcon Berlin 2015 – Hackathon; cc BY-SA 2.0: droidcon Global • Portrait; Ingo Kniest • Cusy-Messestand; Veit Schiele • Michael Gernhardt in space during STS-69 in 1995; PUBLIC DOMAIN: NASA

×