© Liashko/Shutterstock.com
Entwickler Magazin
Mit Jenkins, fastlane und Git zu besserer Software

Continuous Delivery für iOS-Projekte


Dieser Artikel gibt einen Einblick in eine mögliche Toolchain für Continuous Integration und Continuous Delivery im Kontext von iOS-Projekten. Es wird gezeigt, wie Jenkins, fastlane, Git und Xcode zusammenspielen können, um den Entwicklern möglichst viel Arbeit abzunehmen und gleichzeitig die Codequalität zu verbessern.

Niemand wird bezweifeln, dass CI/CD heutzutage eine wichtige Rolle in der Softwareentwicklung spielt. Die iOS-Entwicklung ist dabei keine Ausnahme. Eine App kann jedes Mal automatisch getestet werden, wenn es einen neuen Commit gibt oder zwei Branches zusammengeführt werden sollen. Es ist auf diesem Weg genauso einfach, eine neue Version für Alpha- und Betatester bereitzustellen oder im App Store zu veröffentlichen.

Es gibt viele Tools und Plattformen, die dabei helfen, eine CI/CD Pipeline aufzubauen. Was hier vorgestellt wird, ist also nur eine mögliche Lösung. Jeder muss selbst entscheiden, ob sie den eigenen Bedürfnissen entspricht oder andere Tools vielleicht besser zum eigenen Anwendungsfall passen.

Das Set-up

Für unsere Toolchain benötigen wir zusätzlich zu Xcode drei weitere Tools (Kasten: „Was sind das für Tools?“):

  1. fastlane (zur Automatisierung verschiedener Aufgaben)

  2. Git (zur Versionsverwaltung und als Trigger für die verschiedenen Aktionen später)

  3. Jenkins (als primäres CI/CD-Tool)

Was sind das für Tools?

fastlane

fastlane ist ein Open-Source-Tool, führt u. a. Unit- und UI-Tests mit unterschiedlichen Konfigurationen durch und kann auch beim Upload zu HockeyApp, TestFlight/App Store Connect oder Chrashlytics behilflich sein. Ein Tool, mit dem sich relativ einfach Zertifikate und Provisioning Profiles erstellen und aktualisieren lassen, ist ebenfalls Teil des Pakets. Mindestens genauso hilfreich, wenn auch an einer anderen Stelle, ist fastlane, wenn es um automatisiertes Testen geht [1].

Git

Git ist wohl das aktuell am weitesten verbreitete Versionsverwaltungssystem im Bereich der Softwareentwicklung. Ob man dabei eine selbst- oder fremd...

Entwickler Magazin
Mit Jenkins, fastlane und Git zu besserer Software

Continuous Delivery für iOS-Projekte

Dieser Artikel gibt einen Einblick in eine mögliche Toolchain für Continuous Integration und Continuous Delivery im Kontext von iOS-Projekten. Es wird gezeigt, wie Jenkins, fastlane, Git und Xcode zusammenspielen können, um den Entwicklern möglichst viel Arbeit abzunehmen und gleichzeitig die Codequalität zu verbessern.

Thorsten Stark


Dieser Artikel gibt einen Einblick in eine mögliche Toolchain für Continuous Integration und Continuous Delivery im Kontext von iOS-Projekten. Es wird gezeigt, wie Jenkins, fastlane, Git und Xcode zusammenspielen können, um den Entwicklern möglichst viel Arbeit abzunehmen und gleichzeitig die Codequalität zu verbessern.

Niemand wird bezweifeln, dass CI/CD heutzutage eine wichtige Rolle in der Softwareentwicklung spielt. Die iOS-Entwicklung ist dabei keine Ausnahme. Eine App kann jedes Mal automatisch getestet werden, wenn es einen neuen Commit gibt oder zwei Branches zusammengeführt werden sollen. Es ist auf diesem Weg genauso einfach, eine neue Version für Alpha- und Betatester bereitzustellen oder im App Store zu veröffentlichen.

Es gibt viele Tools und Plattformen, die dabei helfen, eine CI/CD Pipeline aufzubauen. Was hier vorgestellt wird, ist also nur eine mögliche Lösung. Jeder muss selbst entscheiden, ob sie den eigenen Bedürfnissen entspricht oder andere Tools vielleicht besser zum eigenen Anwendungsfall passen.

Das Set-up

Für unsere Toolchain benötigen wir zusätzlich zu Xcode drei weitere Tools (Kasten: „Was sind das für Tools?“):

  1. fastlane (zur Automatisierung verschiedener Aufgaben)

  2. Git (zur Versionsverwaltung und als Trigger für die verschiedenen Aktionen später)

  3. Jenkins (als primäres CI/CD-Tool)

Was sind das für Tools?

fastlane

fastlane ist ein Open-Source-Tool, führt u. a. Unit- und UI-Tests mit unterschiedlichen Konfigurationen durch und kann auch beim Upload zu HockeyApp, TestFlight/App Store Connect oder Chrashlytics behilflich sein. Ein Tool, mit dem sich relativ einfach Zertifikate und Provisioning Profiles erstellen und aktualisieren lassen, ist ebenfalls Teil des Pakets. Mindestens genauso hilfreich, wenn auch an einer anderen Stelle, ist fastlane, wenn es um automatisiertes Testen geht [1].

Git

Git ist wohl das aktuell am weitesten verbreitete Versionsverwaltungssystem im Bereich der Softwareentwicklung. Ob man dabei eine selbst- oder fremd...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang