Who let the robot out?
Qualitativ hochwertige Software
durch Continuous Integration
Timo Stollenwerk
Fehlerfrei

Schnell
Wartbarer Code

Funktionsfähig
Pünktlich
Lesbar
Im Budget

Wunschdenken

Dokumentiert
Broken build

Unwartbarer Code

Schlechte Performanz
Verzögert
„Es funktioniert bei mir“
Nicht auslieferbar

Wirklichkeit
...
Assumption is the mother of all screw-ups
Software Qualität?!
Grundprinzipien
Do not break things
If things are broken, don't make it more complicated
If you broke the build, fix it as soon as possible
Post-commit hook

Failure / Fix

Getting Started
Tests
collective.xmltestreport / Jenkins Cobertura Plugin
Robot
Framework

Akzeptanztests
Jenkins Robot Plugin / Saucelabs
Code Analyse
buildout.jenkins / plone.recipe.codeanalysis / Jenkins Violations Plugin
Performanz Tests
Jenkins jMeter Plugin
Dokumentation
Sphinx / Robot / Build Step
Benachrichtigungen
Jenkins Ext-Email Plugin / Jenkins Dashboard Plugin
Continuous Deyploment
Jenkins Build Pipeline Plugin
Fehlerfrei

Schnell
Wartbarer Code

Funktionsfähig
Pünktlich
Lesbar
Im Budget

Zusammenfassung

Dokumentiert
Who let the robot out?
Qualitativ hochwertige Software
durch Continuous Integration
Timo Stollenwerk
IRC: tisto
tisto@plon...
●

Robot: http://www.flickr.com/photos/jerry_reynolds/2538180907

●

Dark Sky: http://www.flickr.com/photos/psychoscheiko/...
Nächste SlideShare
Wird geladen in …5
×

Who let the robot out? Qualitativ hochwertige Software durch Continuous Integration

1.483 Aufrufe

Veröffentlicht am

Continuous Integration ist Begriff aus der Softwareentwicklung, der den Prozess des fortlaufenden Zusammenfügens von Komponenten zu einer Anwendung beschreibt. Das Ziel der kontinuierlichen Integration ist die Steigerung der Softwarequalität. Jede "Integration" führt zu einem automatisierten Build-Prozess der verschiedene Software-Tests und Code-Analyseschritte ausführt um Fehler so früh wie möglich erkennen und beheben zu können.

Dieser Vortrag wird die Prinzipien der Kontinuierlichen Integration vorstellen und aufzeigen wie diese für ein Python-Projekt umgesetzt werden können. Dabei werden die Erfahrungen aus dem Betrieb des CI-Servers für das Plone Projekt, eines der größten Python-basierten Open Source Projekte, vorgestellt. Unter anderem werden die folgenden Themen behandelt:

- Aufsetzen eines Continous Integration Servers mit Travis-CI oder Jenkins
- Einbindung verschiedener Versionskontrollsysteme
- Das Ausführen verschiedener Tests und die Analyse der Code-Qualität für jede Integration
- Wie Jenkins verwendet werden kann um automatisch eine Software Dokumentation zu erstellen, die Entwickler zu benachrichtigen, Software Releases zu erstellen und Software zu deployen
- Das Schreiben und kontinuierliche Ausführen von funktionalen Akzeptanztests, basierend auf Robot Framework

Veröffentlicht in: Technologie
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
1.483
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
17
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Who let the robot out? Qualitativ hochwertige Software durch Continuous Integration

  1. 1. Who let the robot out? Qualitativ hochwertige Software durch Continuous Integration Timo Stollenwerk
  2. 2. Fehlerfrei Schnell Wartbarer Code Funktionsfähig Pünktlich Lesbar Im Budget Wunschdenken Dokumentiert
  3. 3. Broken build Unwartbarer Code Schlechte Performanz Verzögert „Es funktioniert bei mir“ Nicht auslieferbar Wirklichkeit Über dem Budget
  4. 4. Assumption is the mother of all screw-ups
  5. 5. Software Qualität?!
  6. 6. Grundprinzipien
  7. 7. Do not break things
  8. 8. If things are broken, don't make it more complicated
  9. 9. If you broke the build, fix it as soon as possible
  10. 10. Post-commit hook Failure / Fix Getting Started
  11. 11. Tests collective.xmltestreport / Jenkins Cobertura Plugin
  12. 12. Robot Framework Akzeptanztests Jenkins Robot Plugin / Saucelabs
  13. 13. Code Analyse buildout.jenkins / plone.recipe.codeanalysis / Jenkins Violations Plugin
  14. 14. Performanz Tests Jenkins jMeter Plugin
  15. 15. Dokumentation Sphinx / Robot / Build Step
  16. 16. Benachrichtigungen Jenkins Ext-Email Plugin / Jenkins Dashboard Plugin
  17. 17. Continuous Deyploment Jenkins Build Pipeline Plugin
  18. 18. Fehlerfrei Schnell Wartbarer Code Funktionsfähig Pünktlich Lesbar Im Budget Zusammenfassung Dokumentiert
  19. 19. Who let the robot out? Qualitativ hochwertige Software durch Continuous Integration Timo Stollenwerk IRC: tisto tisto@plone.org timostollenwerk.net
  20. 20. ● Robot: http://www.flickr.com/photos/jerry_reynolds/2538180907 ● Dark Sky: http://www.flickr.com/photos/psychoscheiko/5812349452 ● Lego: http://www.flickr.com/photos/ogimogi/2253657555 ● Broken Glass: http://www.flickr.com/photos/akeg/2230862848 Bilder

×