Seit ich 2015 mit der professionellen Entwicklung von iOS-Apps begonnen habe, hat sich das Tooling für unsere Projekte wesentlich weiterentwickelt. Damals, als Junior-Entwickler, wurde mir die zeitaufwändige Aufgabe übertragen, nach der Fertigstellung der Projekte, diese in die App Stores hochzuladen. Wer damit Erfahrung hat, kann sich vorstellen, dass diese Aufgabe mit der wachsenden Anzahl von Projekten schnell ziemlich mühsam wurde. Ich begann also, nach einer besseren Lösung zu suchen.
Im Laufe der Jahre sind wir von der manuellen Erstellung und dem Export zu einer vollautomatischen Bereitstellung unserer Projekte übergegangen. In diesem Blog möchte ich die Geschichte der Entwicklung von Continuous Delivery bei Apps with love aufrollen. Ich werde die verschiedenen Tools in der Reihenfolge erkunden, in der wir angefangen haben, sie zu nutzen. Jede Technik baut auf der vorhergehenden auf und bringt neue Vorteile mit sich, so dass die Entwicklung nahtlos verläuft und das Setup im Laufe der Zeit schrittweise verbessert werden konnte.
Wer noch nicht weiss, was Continuous Integration und Continuous Delivery - kurz CI/CD - ist und warum man es verwenden sollte, sollte sich so bald wie möglich darüber informieren! Ein gutes Setup spart enorm viel Zeit und Frustration.
Als kurzen Überblick können wir unsere Fortschritte im Laufe der Jahre in drei Teile unterteilen:
Builds vereinfachen
Builds und Tests automatisieren
Standardisierung über alle Projekte hinweg
Beginnen wir mit dem ersten Teil: Vereinfachung der Builds. Unser Tool der Wahl dafür ist Fastlane. Das vielleicht am weitesten verbreitete Build-Scripting-Tool für iOS, hat Entwickler*innen im Apple-Ökosystem Tausende von Stunden und einiges an Kopfzerbrechen erspart. Mit Fastlane kannst du “Lanes” erstellen, d. h. eine Reihe von Anweisungen, die ausgeführt werden sollen. Es sind viele Aktionen verfügbar, die zum Testen, Erstellen und Hochladen deiner Projekte verwendet werden können.