Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

CI/CD & Distribution

Release in Minuten. Hotfix in Stunden.

Fastlane, CodePush, OTA-Updates. Automatisierte Release-Pipeline fuer mobile Apps — vom Commit zum Store.

6-8 Wochen
Time-to-MVP
>99,5%
Crash-freie Sessions
99,9%
Verfuegbarkeit
>4,5/5
Nutzerzufriedenheit

Warum automatisiertes mobiles CI/CD

Ein mobiler Release ist nicht wie ein Web-Deploy. Sie koennen ein Deployment nicht in Sekunden zurueckrollen. App Store Review dauert Stunden bis Tage. Signing Certificates, Provisioning Profiles, Keystores — jeder manuelle Schritt ist ein potenzieller Fehlerpunkt.

Ohne Automatisierung ist der Release ein schmerzhafter Prozess, den das Team immer wieder aufschiebt. Features stauen sich im Develop-Branch, Releases passieren einmal im Monat, Hotfixes kommen „mit dem naechsten Release.” Ergebnis: langsame Feedback-Schleife, frustrierte Nutzer, unglueckliche Entwickler.

Automatisierte Pipeline: Merge in main → automatischer Build → Tests → Signing → Upload in den Store → Team-Benachrichtigung. Der gesamte Prozess mit einem Klick (oder null Klicks mit Auto-Deploy).

Fastlane Pipeline

Fastlane ist der De-facto-Standard fuer die Automatisierung von mobilem CI/CD. Eine Ruby-basierte Toolchain, die den gesamten Release-Prozess orchestriert.

iOS Pipeline

lane :release do
  increment_build_number
  run_tests(scheme: "AppTests")
  match(type: "appstore")          # certificate management
  gym(scheme: "App")               # build
  pilot(skip_waiting: true)        # upload to TestFlight
  upload_to_app_store              # App Store release
end

Match fuer Zertifikatsverwaltung: Provisioning Profiles und Signing Certificates in einem verschluesselten Git-Repository gespeichert. Jeder Entwickler und CI-Rechner teilt dieselben Credentials. Kein „Ich kann nicht builden” — fastlane match laedt alles Noetige herunter und installiert es.

Metadata as Code: App Store Metadaten (Screenshots, Beschreibungen, Release Notes, Keywords) versioniert in Git. Lokalisierung fuer mehrere Sprachen. Review-Screenshots automatisch aus UI-Tests generiert (fastlane snapshot).

Android Pipeline

lane :release do
  increment_version_code
  gradle(task: "test")
  gradle(task: "assembleRelease")
  supply(track: "internal")        # upload to Google Play
end

Keystore-Management: Signing Keystore im Secure Storage (CI Secrets, Vault). Upload Key vs. App Signing Key getrennt (Google Play App Signing).

Bundle vs APK: Android App Bundle (AAB) als Standard — Google Play generiert optimiertes APK pro Geraet. Kleinerer Download, schnellere Installation.

CI/CD-Infrastruktur

Build Server

  • GitHub Actions: Self-hosted macOS Runner fuer iOS-Builds. Linux Runner fuer Android. Matrix Build fuer mehrere SDK-Versionen.
  • Bitrise: Managed CI fuer mobile Entwicklung. macOS-Maschinen fuer iOS, Docker fuer Android. Integriert mit Fastlane.
  • Xcode Cloud: Apples CI/CD. Integriert mit App Store Connect. Einschraenkung: nur iOS/macOS.

Pipeline-Stufen

  1. Lint & Static Analysis — SwiftLint, Detekt, ktlint. Automatische Code-Style-Durchsetzung.
  2. Unit Tests — Schnell, isoliert. Laeuft bei jedem Push. Fehlschlag = blockierter Merge.
  3. Integration Tests — API-Contract-Tests, Datenbank-Tests. Laeuft bei PR-Merge.
  4. UI Tests — E2E-Flows auf Simulator/Emulator. Laeuft bei PR-Merge und naechtlich.
  5. Build — Debug fuer PR, Release fuer Main/Release-Branch.
  6. Sign — Automatisches Signing mit Match (iOS) / Keystore (Android).
  7. Upload — TestFlight/Firebase App Distribution fuer Beta, Store fuer Release.
  8. Notify — Slack/Teams-Benachrichtigungen mit Build-Status und QR-Code zur Installation.

Parallelisierung: iOS- und Android-Builds laufen parallel. Tests parallelisiert (Sharded). Gesamte Pipeline unter 15 Minuten.

Beta-Distribution

TestFlight (iOS)

Apples offizielle Beta-Testing-Plattform:

  • Internes Testing: Build sofort verfuegbar fuer das Team (bis zu 100 Tester)
  • Externes Testing: App Store Connect Review (typischerweise <24h), bis zu 10.000 Tester
  • Automatischer Build-Upload nach Merge in Develop
  • Feedback direkt in der App — Screenshot + Annotation + Device-Info

Firebase App Distribution (Android + iOS)

  • Distribution ausserhalb des Stores — direkter Download ueber Link oder QR-Code
  • Tester-Gruppen — QA, Stakeholder, Beta-Nutzer
  • Release Notes pro Build
  • SDK fuer In-App-Feedback

In-App-Feedback

Tester schuettelt das Telefon (Shake Gesture) → Feedback-Formular oeffnet sich:

  • Screenshot mit Annotationsmoeglichkeit (Pfeile, Rechtecke, Text)
  • Automatisch angehaengt: Device-Info, OS-Version, App-Version, Netzwerkstatus, Logs
  • Uebermittlung an Jira/Linear/GitHub Issues
  • Deutlich schnellere Feedback-Schleife als „schick mir einen Screenshot per E-Mail”

OTA-Updates (CodePush)

Wann OTA

Fuer React Native und Flutter-Anwendungen: JavaScript/Dart-Bundle-Update ohne Store Review. Hotfix in Produktion in Minuten, nicht Tagen.

Was OTA kann: UI-Aenderungen, Business-Logik in JS/Dart, Content-Updates, Bugfixes in Managed Code.

Was OTA nicht kann: Nativer Code (Swift/Kotlin-Module), neue Native Dependencies, Native SDK-Updates.

Staged Rollout

Wir rollen ein OTA-Update niemals auf 100% der Nutzer gleichzeitig aus:

  1. Canary (1-5%) — Minimale Gruppe, Monitoring von Crash-Rate und Fehlerrate
  2. Early Adopters (10-20%) — Breitere Validierung, Business-Metriken
  3. General Availability (100%) — Nach Bestaetigung der Stabilitaet

Automatischer Rollback: Wenn die Crash-Rate um >X% gegenueber der Baseline steigt, wird das OTA-Update automatisch zurueckgezogen und Nutzer erhalten die vorherige Version.

Store Staged Rollout

  • Google Play: Prozentualer Rollout (0,1% → 1% → 5% → 20% → 50% → 100%). Monitoring der Crash-free Rate in der Google Play Console. Halt und Rollback jederzeit.
  • iOS Phased Release: 7-taegiger schrittweiser Rollout (1% → 2% → 5% → 10% → 20% → 50% → 100%). Halt jederzeit. Sofortige Veroeffentlichung fuer kritische Updates.

Post-Release-Monitoring

Release endet nicht mit dem Upload in den Store. Post-Release-Monitoring ist kritisch:

Crash Reporting

  • Crashlytics (Firebase): Echtzeit-Crash-Reporting mit Stack Traces, Device-Info, Breadcrumbs. Automatische Gruppierung aehnlicher Crashes. Alerting bei Spikes.
  • Sentry: Detaillierteres Error Tracking mit Custom Context. Performance Monitoring (Transaction Tracing). Release Health Dashboard.

Performance Monitoring

  • Startzeit: Cold Start, Warm Start. Trend ueber Versionen.
  • Frame-Rendering: Frozen Frames, Slow Frames. Jank-Erkennung.
  • Netzwerk: API-Latenz, Fehlerrate, Payload-Groesse pro Endpunkt.
  • Batterie und Speicher: Uebermassiger Batterieverbrauch, Memory Leaks, Festplattennutzung.

Erzwungenes Update

Fuer kritische Sicherheitspatches — die App zeigt einen Dialog: „Bitte aktualisieren Sie auf die neueste Version.” Konfigurierbar: Soft Update (Abbrechen moeglich) vs. Hard Update (blockiert Nutzung). Mindestversions-Check bei jedem App-Start.

Technologie-Stack

CI/CD: Fastlane, GitHub Actions, Bitrise, Xcode Cloud, Gradle.

Distribution: TestFlight, Firebase App Distribution, Google Play Console, App Store Connect.

OTA: CodePush (App Center), Expo Updates, Shorebird (Flutter).

Monitoring: Crashlytics, Sentry, Firebase Performance, Google Play Vitals, App Store Connect Analytics.

Signing: Fastlane Match, Android Keystore, Google Play App Signing.

Häufig gestellte Fragen

MVP in 6-8 Wochen. Vollstaendige App mit Offline-Modus, Integration und CI/CD: 3-6 Monate. Abhaengig vom Umfang — ein Discovery-Workshop hilft, Umfang und Zeitplan zu klaeren.

Swift (iOS), Kotlin (Android) fuer native Entwicklung. React Native/Flutter fuer Cross-Platform. Wir waehlen basierend auf Anforderungen, nicht auf Ideologie.

Haben Sie ein Projekt?

Lassen Sie uns darüber sprechen.

Termin vereinbaren