Continuous Integration mit Hudson

2010/02 Kontinuierlich zu besserem Code und zufriedenen Kunden...!

In der Software-Entwicklung werden bis zu der Veröffentlichung einer Anwendung viele Prozessschritte durchlaufen. Bei Projektteams mit mehreren Software-Entwicklern arbeiten die Entwickler üblicherweise in einer auf ihren Rechnern eingerichteten Entwicklungsumgebung, damit sie sich nicht gegenseitig behindern. Der gemeinsam entwickelte Code wird in einer Versionsverwaltung gespeichert und jeder Entwickler arbeitet lokal an seiner Kopie des Quellcodes. Damit Fehler frühzeitig abgefangen werden können, entwickeln geübte Entwickler neben dem eigentlichen Quellcode auch Test-Code. Dieser, gepackt in Testfälle und Test-Klassen, wird für gezielte Tests von Programmabschnitten eingesetzt. Der fachliche Ausdruck für diese Art von Testen lautet „Unit-Test“. Durch einen Continuous Integration-Prozess (deutsch: „Kontinuierliche Integration“) wird eine Anwendung regelmäßig automatisch neu gebaut, getestet und deren Qualität überprüft. Damit wird ein besserer Qualitätsstandard erreicht und Fehler werden bereits vor der Auslieferung an den Kunden aufgedeckt. Durch eine Vielzahl an Unit-Tests und einer hohen Code-Abdeckung wird vermieden, dass bereits abgenommene und funktionierende Quellcodeteile nach einer Änderung an einer anderen Stelle nicht mehr funktionieren.

Für den Einsatz eines Continuous Integration Servers existiert bereits eine Vielzahl von unterschiedlichen Systemen. Im Rahmen seiner Diplomarbeit hat Martin Rödig in Zusammenarbeit mit eWorks eine Teilmenge dieser Systeme untersucht, um herauszufinden, welches System für ein mittelständisches Unternehmen von Interesse sein könnte. Hauptaugenmerk lag dabei auf der Voraussetzung, dass die bei eWorks primär eingesetzten Programmiersprachen C#, PHP und Java durch das System unterstützt werden. Nach einer langen und gründlichen Evaluierungsphase hat sich herausgestellt, dass der OpenSource-Kandidat Hudson alle von eWorks gestellten Anforderungen an ein CI-System erfüllt und für den Einsatz bei eWorks gewappnet ist.

Martin Rödig konnte in seiner Diplomarbeit nicht nur evaluieren, welches System für eWorks in Frage kommt, sondern hat dieses System auch eingeführt. Da bei eWorks ein iteratives Vorgehensmodell eingesetzt und vermehrt zu einer Test Driven Developement übergegangen wird, kam die Ausarbeitung von Martin Rödig genau zum richtigen Zeitpunkt und er konnte an Fallbeispielen zeigen, dass sich der Einsatz von Hudson im Softwareentwicklungsprozess bewährt. Das iterative Vorgehensmodell von eWorks sieht vor, dass Zwischenergebnisse kontinuierlich durch den Auftraggeber gesichtet werden, wobei Hudson eine entscheidende Rolle bei der Veröffentlichung der Quellcode-Stände bildet. Bereits durch Unit-Tests überprüft und durch Sichtprüfungen unterstützt, kann so auf schnelle Art und Weise eine neue Version der zu entwickelnden Anwendung bereitgestellt werden.

Die zum Download bereitgestellte Ausarbeitung geht im Detail auf die Untersuchung der verschiedenen Systeme ein und beschreibt die Einführung von Hudson bei eWorks. Dabei werden beispielhafte Projekte gezeigt und der Nutzen von Hudson wird in Form von Zahlen und Fakten dargelegt. An manchen Stellen im Ausarbeitungs-Text wurden von eWorks aus Geheimhaltungsgründen Änderungen vorgenommen, ansonsten entspricht die Ausarbeitung der Abgabeversion.

Downloads

X

Um die Webseite optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir eigene Cookies und von Drittanbietern. Durch die weitere Nutzung unserer Webseite stimmen Sie der Verwendung von Cookies zu. Diese Nutzung können Sie in Ihren Browsereinstellungen jederzeit ändern. Weitere Informationen finden Sie in unserem Datenschutz.

Fragen?

Kontaktmöglichkeiten

Projektanfrage?
Andere Frage?
Bewerbung?

Sie benötigen eine Auftragsprogrammierung?
Oder suchen eine unverbindliche Beratung?


Sind sie auf der Suche nach einer neuen Stelle?
Wir freuen uns auf Ihre Bewerbung: