App

Warum ein guter Deploy-Prozess ein echter Wettbewerbsvorteil ist

Signing-Zertifikate, Provisioning Profiles, Build-Konfigurationen, einmal richtig aufgesetzt, laufen sie zuverlaessig.

Ein Deploy-Prozess, der von einer einzelnen Person auf einem bestimmten Rechner abhaengt, ist kein Prozess. Es ist ein Risiko.

Web-Entwickler sind CI/CD gewohnt. Bei Mobile fuehlt es sich oft nach einmal einrichten und dann irgendwann nicht mehr verstehen, warum es ploetzlich nicht klappt an.

Die Bausteine einer mobilen CI/CD-Pipeline

Source-Control-Integration bedeutet: Ein Commit auf Main oder einen Feature-Branch triggert automatisch Build und Tests, selbstverstaendlich, aber leider nicht immer Realitaet. Automatisiertes Testen deckt Unit-, Integrations- und Screenshot-Tests ab, wobei nicht alle bei jedem Commit laufen muessen. Code Signing sollte automatisiert und sicher erfolgen, Fastlane Match ist der Standard fuer iOS, fuer Android reicht ein sicher in CI-Secrets verwahrter Keystore. Und Distribution geht an interne Tester ueber Firebase App Distribution oder TestFlight, oder direkt in den Store.

Werkzeuge, die sich bewaehrt haben

Fastlane bleibt das Schweizer Taschenmesser fuer Mobile CI/CD, kombiniert mit GitHub Actions, GitLab CI oder Bitrise. Fuer reine Flutter-Projekte lohnt ein Blick auf Codemagic.

Was sich lohnt zu automatisieren

Build-Nummern automatisch hochzaehlen, Store-Screenshots automatisch generieren, Release Notes aus Commits oder Changelogs ableiten, Builds automatisch an interne Tester senden.

Checkliste: Build laeuft auf jedem PR automatisch durch, Unit- und mindestens ein E2E-Test in der Pipeline, Code Signing automatisiert, Distribution an interne Tester automatisiert, Versionsnummern automatisch verwaltet, Secrets sicher in CI gespeichert, Release-Prozess dokumentiert.

Ein Beispiel aus der Praxis

Ein Team brauchte urspruenglich bis zu vierzig Minuten fuer einen manuellen Release, inklusive Zertifikatssuche, Screenshot-Erstellung und Store-Upload, ein fehleranfaelliger Prozess, der meist kurz vor Feierabend unter Zeitdruck ablief. Nach der Einfuehrung einer Fastlane-Pipeline reduzierte sich der reine Zeitaufwand auf wenige Minuten aktive Interaktion, der Rest lief automatisiert im Hintergrund. Wichtiger als die reine Zeitersparnis war der Effekt auf die Release-Frequenz: Aus monatlichen Releases wurden woechentliche, weil die Huerde fuer einen Release praktisch verschwunden war.

CI/CD fuer eure App ist noch Handarbeit? markom.digital richtet CI/CD-Pipelines fuer mobile Apps ein, von Grund auf oder als Ueberarbeitung bestehender Setups.

Weitere Beiträge