Direkt zum Inhalt

Jenkins für die iOS-Entwicklung

14.11.2011 - 15:30 von Gast

Schritt 1: Jenkins installieren

Jenkins von jenkins-ci.org herunterladen und installieren. Zum Testen empfiehlt sich das Java Web Archive zu laden. Dieses startet man im Terminal mit dem Befehl

 

java -jar pfad/zu/jenkins.war

 

Nach ein paar Sekunden kann Jenkins dann im Browser unter der Adresse http://localhost:8080/ erreicht werden.

Von Hause aus bietet Jenkins nur die Möglichkeit Quelltexte aus CVS- und SVN-Repositories zu bauen, es stehen aber auch Plugins für Git und andere moderne Systeme zur Verfügung. Diese können einfach per Mausklick installiert werden. Dazu "Jenkins verwalten", "Plugins verwalten" und als letztes "Verfügbar" auswählen. Dort findet man das Git-Plugin unter "Versionsverwaltung".

Schritt 2: Einen neuen Job anlegen

Um ein Projekt mit Jenkins zu bauen und zu testen muss in Jenkins ein Job dafür angelegt werden. Dazu im Hauptmenü von Jenkins "Neuen Job anlegen" auswählen. Im folgenden Formular gibt man dem Job einen eindeutigen Namen und wählt die Vorlage "Free Style-Softwareprojekt bauen" aus. Jenkins legt den Job an und leitet uns in das Konfigurationsformular für den Job weiter.

Dort wählen wir unter "Source-Code-Management" Git aus und geben die URL für das Repository an. Zum einfachem testen reicht auch ein lokaler Pfad.

Unter Build-Auslöser wählen wir "Source Code Management System abfragen" und geben in das Feld "Zeitplan" "* * * * *" ein, um jede Minute nach Änderungen zu schauen. Eine kurze Erklärung zu dem Cron-Syntax für den Zeitplan findet man in der Hilfe zu dem Feld.

Als letztes fügen wir unter "Buildverfahren" einen neuen Schritt vom Typ "Shell ausführen" hinzu. Als Befehl geben wir

 

xcodebuild -configuration Debug clean build


ein.

 

Nachdem wir die Konfiguration übernommen haben können wir mit "Jetzt bauen" unseren Job starten. Jenkins kompiliert jetzt unser Projekt, und wenn alles richtig eingerichtet ist wird nach einer Weile im Build-Verlauf ein neuer erfolgreicher Build erscheinen. Auch nachdem neue Änderungen in Git comitted wurden baut Jenkins das Projekt neu und zeigt den aktuellen Status an.

Schritt 3: Unit-Test-Ergebnisse

Continuous Integration macht aber erst richtig Sinn, wenn der neue Code auch getestet und nicht nur kompiliert wird. Jenkins an sich kann nur die Ergebnisse von Unit-Tests im jUnit-Format darstellen. Zum Glück gibt es ein fertiges Ruby-Script, mit dem man die Test-Ergebnisse der OCUnit-Tests von Xcode in das passende Format konvertieren kann. Dies einfach von Github (https://github.com/ciryon/OCUnit2JUnit) herunterladen und "ocunit2junit.rb" nach "/usr/local/bin" kopieren und mit "chmod +x" als ausführbar markieren.

Jetzt können wir die Konfiguration für unseren Job in Jenkins bearbeiten und folgendes Shell-Script als neuen Build-Schritt hinzufügen:

 

xcodebuild -target "Unit Tests" -sdk iphonesimulator -configuration Debug TEST_AFTER_BUILD=YES | /usr/local/bin/ocunit2junit.rb


Dort ist natürlich noch der Name des Unit-Test-Targets anzupassen.

 

Anschließend wählen wir noch "Veröffentliche JUnit-Testergebnisse" unter "Post-Build-Aktionen" aus und geben den Pfad "test-reports/*.xml" an.

Wenn Jenkins jetzt das Projekt neu baut, z.B. weil wir einen Build manuell auslösen oder neue Revisionen im Git committen, werden auch die Unit-Tests gestartet und das Ergebnis graphisch dargestellt.

Registrieren Sie sich jetzt für unseren kostenlosen Newsletter und bleiben Sie immer auf dem Laufenden

Weitere Blogbeiträge