Continuous integration eine Einführung für Unkundige

8
Continuous Integration - eine Einführung © Axel Burghof, https://plus.google.com/+AxelBurghof , November 2014

Transcript of Continuous integration eine Einführung für Unkundige

Page 1: Continuous integration   eine Einführung für Unkundige

Continuous Integration -

eine Einführung© Axel Burghof, https://plus.google.com/+AxelBurghof, November 2014

Page 2: Continuous integration   eine Einführung für Unkundige

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

Page 3: Continuous integration   eine Einführung für Unkundige

● 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

Page 4: Continuous integration   eine Einführung für Unkundige

● 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

Page 5: Continuous integration   eine Einführung für Unkundige

Wie siehts aus?

schauen wir einfach mal rein…

Page 6: Continuous integration   eine Einführung für Unkundige

● 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

Page 7: Continuous integration   eine Einführung für Unkundige

● Tests -> Änderungen abgesichert● Automatisieren -> Handarbeit reduziert● Reports nutzen -> Verlauf erkennbar

Wie mache ich mir das zunutze?

Page 8: Continuous integration   eine Einführung für Unkundige

Zusammenspiel der Komponenten

Commit

SVNlokale Änderungen

CI-ServerIntegrationsumgebung / CI-Server

Installations-dateien

Lokal

Build, Test, Deploy Lokal

Reports