Ruby in der mobilen Entwicklung: Fastlane, CI/CD und Automatisierung

Autor: IT Sectr Veröffentlicht: 2026-02-11 Lesezeit: 8 Min.

Ruby ist eine dynamische interpretierte Sprache mit eleganter Syntax, bekannt für das Framework Ruby on Rails. In der mobilen Entwicklung wird Ruby vor allem durch Fastlane verwendet — das Standardwerkzeug zur Automatisierung von Builds, Tests und Deployment von iOS- und Android-Anwendungen. Laut der offiziellen Fastlane-Dokumentation wird das Tool in über 100.000 Projekten weltweit eingesetzt.

Wichtige Punkte

  • Ruby — eine dynamische Sprache, die in der mobilen Entwicklung über Fastlane zur Build-Automatisierung verwendet wird
  • Fastlane — der De-facto-Standard für CI/CD in der iOS- und Android-Entwicklung, geschrieben in Ruby
  • Fastfile — eine Konfigurationsdatei mit einem Ruby-ähnlichen DSL, die den Build-Prozess beschreibt
  • Match und Deliver — Fastlane-Aktionen für Zertifikatsverwaltung und App Store-Veröffentlichung
  • Ruby Gems — ein Paketmanager, der die Erweiterung von Fastlane mit Plugins ermöglicht

Was ist Ruby?

Ruby ist eine dynamische interpretierte Open-Source-Sprache, die 1995 von Yukihiro Matsumoto entwickelt wurde. Das Kernprinzip von Ruby ist die optimale Einfachheit (Prinzip der geringsten Überraschung). Die Sprache ist bekannt für Blöcke (Closures), einen rein objektorientierten Ansatz (alles ist ein Objekt, einschließlich Zahlen) und ein leistungsstarkes Metaprogrammierungssystem.

Ruby läuft auf dem YARV-Interpreter (Yet Another Ruby VM) mit JIT-Kompilierung seit Version 3.1. Die aktuelle Version Ruby 3.4 (2025) enthält Dekorateure, einen verbesserten Prism-Parser und experimentelle Typunterstützung durch RBS. RubyGems — der Paketmanager — enthält über 200.000 Gems.

Ruby on Rails ist das bekannteste Web-Framework, das mit Ruby erstellt wurde, aber in der mobilen Entwicklung wird Ruby anders eingesetzt. Seine Hauptnische ist Fastlane: ein Ökosystem von Ruby-Skripten und Gems zur Automatisierung aller Phasen des mobilen App-Lebenszyklus — von der Codesignierung bis zur Veröffentlichung in den Stores.

Grundlagen der Ruby-Syntax für Fastlane

Für die Arbeit mit Fastlane reicht ein grundlegendes Verständnis von Ruby aus: Methoden, do-end-Blöcke, Symbole (:symbol) und Hash-Syntax { key: value }. Im Gegensatz zu Python verwendet Ruby end zum Schließen von Blöcken anstelle von Einrückungen. Methoden können ohne Klammern aufgerufen werden — dies wird im Fastlane-DSL aktiv genutzt.

ruby
# Grundlegende Ruby-Syntax, die in Fastlane verwendet wird
def download_assets(version, platform: "ios")
  paths = {
    ios: "ios/Assets.car",
    android: "android/app/src/main/assets"
  }
  url = "https://cdn.example.com/assets/#{version}/#{paths[platform.to_sym]}"
  puts "Downloading from: #{url}"

  unless File.exist?("temp/assets")
    Dir.mkdir("temp/assets")
  end
  result = system("curl -o temp/assets.zip #{url}")
  raise "Download failed" unless result
end

download_assets("1.2.3", platform: "android")

Im Beispiel nimmt die Methode download_assets ein version-Argument und einen optionalen benannten Parameter platform (Standard ios). String-Interpolation mit #{...} bettet Werte direkt in Strings ein. unless ist das Gegenteil von if — es führt Code aus, wenn die Bedingung falsch ist.

Fastlane: Mobile Build-Automatisierung mit Ruby

Fastlane ist ein Open-Source-Tool, das in Ruby geschrieben ist. Installiert über gem install fastlane, bietet es eine Reihe von Befehlen zur Automatisierung der routinemäßigsten Aufgaben mobiler Entwickler: Erstellen von Screenshots, Codesignierung, Veröffentlichung in TestFlight und Google Play Console.

Fastlane besteht aus Tools: sigh (Zertifikatsverwaltung), match (Zertifikatssynchronisation in Teams), gym (iOS-Builds), gradle (Android-Builds), deliver (iOS-Veröffentlichung), supply (Android-Veröffentlichung), snapshot (Screenshots), scan (Tests). Alle Tools sind über eine einzige Fastfile zugänglich.

In großen Projekten verarbeitet Fastlane über 50 Aktionen in einer einzigen Pipeline: Versionserhöhung, Asset-Download von CDN, Build, Signierung, Upload zu App Store Connect, Senden von Slack-Benachrichtigungen. Die gesamte Pipeline wird mit einem einzigen Befehl ausgeführt: fastlane release.

Fastfile: Konfiguration der Build-Pipeline

Fastfile ist eine Ruby-ähnliche DSL-Datei, die eine Abfolge von Aktionen (Lanes) beschreibt. Jede Lane ist eine separate Aufgabe: beta (Test-Build), release, screenshots. Lanes können andere Lanes mit übergebenen Parametern aufrufen.

ruby
# Fastfile — Konfiguration der iOS-App-Build-Pipeline
fastlane_version "2.220.0"

default_platform :ios

platform :ios do
  desc "Erstellen und Bereitstellen des TestFlight-Builds"
  lane :beta do |options|
    increment_build_number(
      build_number: options[:build]
    )
    match(type: :appstore)
    gym(
      scheme: "MyApp",
      export_method: "app-store",
      configuration: "Release"
    )
    upload_to_testflight(
      app_identifier: "com.example.myapp"
    )
    slack(
      message: "Build #{options[:build]} in TestFlight hochgeladen"
    )
  end
end

Die beta-Lane führt nacheinander aus: Build-Nummer erhöhen (increment_build_number), Zertifikate synchronisieren (match), Archiv erstellen (gym), zu TestFlight hochladen (upload_to_testflight) und Slack-Benachrichtigung senden. Der Parameter :build wird als benanntes Argument an die Lane übergeben.

Android-Konfiguration in Fastfile

Fastlane unterstützt beide Plattformen in einer einzigen Fastfile. Für Android verwenden Sie eine Lane innerhalb von platform :android mit den Aktionen gradle, supply und google_play_track_version_codes.

ruby
platform :android do
  desc "APK erstellen und in Google Play Internal Testing veröffentlichen"
  lane :beta do
    gradle(
      task: "assemble",
      build_type: "Release",
      flavor: "Production"
    )
    supply(
      track: "internal",
      apk_paths: ["app/build/outputs/apk/release/app-release.apk"]
    )
  end
end

Wichtige Fastlane-Aktionen für iOS und Android

Fastlane enthält über 200 integrierte Aktionen. Nachfolgend die wichtigsten für die mobile Entwicklung, nach Kategorien geordnet.

AktionPlattformZweck
matchiOSZertifikate und Provisioning-Profile über Git synchronisieren
gymiOS.app- und .ipa-Archive erstellen
scaniOSUI-Tests auf dem Simulator ausführen
snapshotiOSAutomatische Screenshot-Erstellung auf verschiedenen Geräten
deliveriOSBuild, Screenshots und Metadaten zu App Store Connect hochladen
pilotiOSTestFlight-Verwaltung: Builds hochladen, Tester hinzufügen
gradleAndroidGradle-Aufgaben ausführen: assemble, test, bundle
supplyAndroidAPK/AAB und Metadaten zu Google Play Console hochladen
screengrabAndroidAutomatische Screenshots für Google Play
firebase_app_distributionBeideBuild zu Firebase App Distribution hochladen

Match: Sichere Zertifikatsverwaltung

match ist ein Fastlane-Gem zur Synchronisierung von iOS-Zertifikaten und Provisioning-Profilen zwischen Entwicklern. Alle Geheimnisse werden in einem verschlüsselten Git-Repository oder S3 gespeichert. Match generiert automatisch Zertifikate, wenn sie fehlen, und erneuert sie bei Ablauf.

ruby
# Initialisierung von match für ein neues Projekt
$ fastlane match init

# Erstellen und Synchronisieren von App Store-Zertifikaten
$ fastlane match appstore

# Entwicklungszertifikate für das Team erstellen
$ fastlane match development

# Alle Zertifikate bei Ablauf erneuern
$ fastlane match --force

Match speichert private Schlüssel mit einer Passphrase, die nur Entwickler kennen. Jeder Entwickler klont das Zertifikatsrepository und führt match aus, um die aktuellen Profile zu installieren. Apple-Zertifikate sind 1 Jahr gültig; match erneuert sie automatisch.

Integration von Fastlane in CI/CD-Systeme

Fastlane integriert sich in jede CI/CD-Plattform: GitHub Actions, GitLab CI, CircleCI, Bitrise, Jenkins und Xcode Cloud (über xcode-build). Fastlane wird auf CI mit fastlane <lane_name> ausgeführt und gibt bei Fehlschlagen eines Schritts einen Fehlercode zurück.

Die Einrichtung für GitHub Actions umfasst die Installation von Ruby, fastlane und die Ausführung der Lane über bundle exec fastlane. iOS-Builds erfordern einen macOS-Runner. Android-Builds können ubuntu-latest verwenden, was günstiger ist.

yaml
# .github/workflows/deploy.yml — CI/CD mit Fastlane
name: Deploy Mobile App
on:
  push:
    branches: [main]

jobs:
  ios-deploy:
    runs-on: macos-14
    steps:
      - uses: actions/checkout@v4
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: "3.3"
      - run: bundle install
      - run: bundle exec fastlane beta
      - env:
          MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}

Der Workflow wird bei Push auf main ausgeführt. Der macOS-Runner führt bundle exec fastlane beta aus der Fastfile aus. MATCH_PASSWORD wird über GitHub Secrets zur Zertifikatsentschlüsselung übergeben. Nach Abschluss der Lane sendet eine Slack-Aktion eine Benachrichtigung.

Ruby Gems und Fastlane-Plugins

RubyGems ist der Paketmanager für Ruby. Fastlane wird durch Plugins erweitert — Gems, die neue Aktionen hinzufügen. Das Plugin fastlane-plugin-versioning verwaltet Versionen, fastlane-plugin-firebase_app_distribution lädt Builds zu Firebase hoch. Auf GitHub gibt es über 500 Fastlane-Plugins.

Die Gemfile im Projektroot fixiert die Versionen aller Abhängigkeiten für reproduzierbare Builds. bundle install installiert Gems aus der Gemfile.lock. Zu den wichtigsten Gems für die mobile Entwicklung gehören: fastlane, cocoapods (iOS-Abhängigkeiten), xcodeproj (.xcodeproj-Manipulation).

ruby
# Gemfile für ein mobiles Projekt
source "https://rubygems.org"

gem "fastlane", "~> 2.220"

plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)

Fastlane im Vergleich zu Alternativen

Fastlane ist nicht das einzige Automatisierungstool. Vergleichen wir es mit den wichtigsten Alternativen anhand von Kriterien, die für ein mobiles Team wichtig sind.

KriteriumFastlane (Ruby)Bitrise (Web)Xcode Cloud (Apple)GitHub Actions (YAML)
FlexibilitätMaximal (Code)Mittel (Schritte)Niedrig (begrenzt)Hoch
iOSVolle UnterstützungVollständigVollständig (integriert)Über selbstgehostetes macOS
AndroidVolle UnterstützungVollständigNeinVollständig
Zertifikate (match)IntegriertÜber Code SigningAutomatischÜber fastlane
Lokale AusführungJaNein (nur CI)NeinÜber act
Plugins500+200+ IntegrationenKeine20.000+ Aktionen

Fastlane bleibt das flexibelste Tool für komplexe Pipelines. Bitrise ist praktisch für Teams ohne Ruby-Entwickler. Xcode Cloud eignet sich für einfache iOS-Projekte. GitHub Actions ist ideal, wenn das Team bereits GitHub verwendet.

Häufig gestellte Fragen

Warum Ruby in der mobilen Entwicklung verwenden, wenn es Kotlin und Swift gibt?

Ruby wird nicht zum Schreiben mobiler Anwendungen verwendet, sondern zur Automatisierung von Build-, Test- und Bereitstellungsprozessen über Fastlane. Fastlane ist der De-facto-Standard für CI/CD in der iOS- und Android-Entwicklung.

Funktioniert Fastlane nur auf macOS?

Fastlane funktioniert auf macOS, Linux und Windows, aber iOS-Builds erfordern Xcode und macOS. Android-Builds können auf jeder Plattform ausgeführt werden. Entwickler verwenden lokal macOS und auf CI — macOS für iOS und Linux für Android.

Muss ich Ruby lernen, um mit Fastlane zu arbeiten?

Ein grundlegendes Verständnis von Ruby reicht für die Arbeit mit Fastlane aus. Fastlane verwendet ein Ruby-ähnliches DSL in der Fastfile. Für typische Aufgaben reichen Kenntnisse über Gems, do-end-Blöcke und grundlegende Syntax. Tiefgehende Ruby-Kenntnisse sind nicht erforderlich.

Welche Alternativen zu Fastlane gibt es?

Alternativen: Gradle für Android (integriert), Xcode Cloud (Apple), Bitrise (Web-Oberfläche), GitHub Actions (YAML). Fastlane bleibt dank seines reichhaltigen Ökosystems an Aktionen und Plugins das flexibelste Tool.

Ist Fastlane für große Teams geeignet?

Ja, Fastlane wird von großen Unternehmen verwendet. Alle Aktionen und Konfigurationsdateien werden im Repository versioniert, und match gewährleistet die sichere Speicherung von Zertifikaten in einem Repository oder S3.

Zusammenfassung

  • Ruby — eine dynamische Sprache, die in der mobilen Entwicklung über das Fastlane-Ökosystem zur Build-Automatisierung verwendet wird
  • Fastlane — der CI/CD-Standard für iOS und Android: über 200 Aktionen, über 500 Plugins, über 100.000 Projekte
  • Fastfile — ein Ruby-ähnliches DSL mit Lanes: beta, release, screenshots für verschiedene Build-Szenarien
  • Match löst das Problem der Synchronisierung von iOS-Zertifikaten und Provisioning-Profilen zwischen Entwicklern
  • Deliver und Supply — Aktionen zur Veröffentlichung im App Store und Google Play mit Metadaten und Screenshots
  • CI/CD-Integration — Fastlane funktioniert mit GitHub Actions, GitLab CI, CircleCI und Bitrise
  • Flexibilität — Fastlane übertrifft Bitrise und Xcode Cloud dank einer programmierbaren Ruby-Pipeline

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch