Post on 27-Jul-2015
Continuous Integration -
eine Einführung© Axel Burghof, https://plus.google.com/+AxelBurghof, November 2014
Continuous Integration bezeichnet das automatische Bauen, Testen, Installieren von und Berichten über Software bei jedem Integrieren einer Quellcode-Änderung.
Was ist “CI”?
Wer ist eigentlich dieser Herr
Quelle: jenkins-ci.org
● Build, Deploy, Test per Script - Gradle● Auslösung bei Commit - Jenkins● Bericht über Ausführung - Jenkins
o Log über Svn Update, Script-Ausführungo JUnit Report
Wie funktioniert CI?
SVNlokale Änderungen
CI ServerCommit Deploy, Test
Reports
Integrationsumgebung
● Schnelle Rückmeldung über Verträglichkeit von Änderungen● Fehler sofort schnell behebbar● Deshalb die vielen Mails von Jenkins
Jenkins-Build fehlgeschlagenJenkins-Build ist wieder normal
● Automatisierung
Warum CI? Gefahr erkannt - Gefahr gebannt
Wie siehts aus?
schauen wir einfach mal rein…
● Commit -> Jenkins CI-Job läuft an● Build fehlerfrei -> Commit ok● Fehler -> Mail -> Ursache abstelleno Job Run Log: Svn Update, Script-Ausführungo JUnit Report: Stacktraces, stdout, stderro Korrektur committen -> nächster Laufo -> Mail Jenkins Build ist wiederhergestellt
Wie fühlt es sich an?erstmal alles wie bisher, aber mit Hinweis auf Fehler
● Tests -> Änderungen abgesichert● Automatisieren -> Handarbeit reduziert● Reports nutzen -> Verlauf erkennbar
Wie mache ich mir das zunutze?
Zusammenspiel der Komponenten
Commit
SVNlokale Änderungen
CI-ServerIntegrationsumgebung / CI-Server
Installations-dateien
Lokal
Build, Test, Deploy Lokal
Reports