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

1,413 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,413
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×