[MELDEN] Von der Vision zum Code: Ein Leitfaden zur Ausrichtung der Geschäftsstrategie auf die Ziele der Softwareentwicklung ist veröffentlicht!
HOL ES DIR HIER

Automatisierung von mobilem CI/CD: Bitrise vs. GitHub Actions + Migrationsstudie

readtime
Last updated on
May 20, 2025

A QUICK SUMMARY – FOR THE BUSY ONES

Automatisierung von mobilem CI/CD mit GitHub Actions im Vergleich zu Bitrise

  1. Herausforderung: Migration von mobilem CI/CD von Bitrise zu GitHub Actions für eine auf iOS ausgerichtete React Native-App.
  2. Überblick über den Arbeitsablauf: Der Standard-Pipeline-Workflow umfasste Linting, JS-Tests und E2E-Detox-Tests auf dem Master-Branch.
  3. Anbieter vergleichen: GitHub Actions und Bitrise bieten beide YAML-Konfigurationen, aber Bitrise verfügt über einen intuitiven UI-Workflow-Editor.
  4. GitHub-Aktionen einrichten: Erstellen Sie eine neue Workflow-Datei im dafür vorgesehenen Verzeichnis des Repositorys, um eine nahtlose Automatisierung zu gewährleisten.
  5. Bitrise einrichten: Verknüpfen Sie Ihr Repo mit Bitrise und nutzen Sie über 200 Add-Ons, die sich besonders für die Erstellung und Bereitstellung von Apple-Apps eignen.
  6. Plattformfokus: Bitrise ist auf Mobilgeräte ausgerichtet und eigensinnig und bietet optimierte Lösungen, während GitHub Actions vielseitig ist, jedoch mehr Anpassungen erfordert.
  7. Komplexität der Codesignatur: GitHub Actions erfordert die manuelle Bearbeitung von Codesigning und Testflight, während Bitrise benutzerfreundliche Add-Ons bereitstellt.
  8. Automatisierung mit Fastlane: Die Lanes von Fastlane optimieren die Erstellung, das Codesigning und die Bereitstellung von Profilen für iOS-Apps für beide Anbieter.
  9. Preisvergleich: GitHub Actions bietet Freiminuten mit reduzierten Mac-Build-Limits und As-you-go-Zahlungen, während Bitrise eine flexible Preisstruktur bietet.
  10. Entscheidungsfaktoren: GitHub Actions eignet sich hervorragend für Linux-basierte Aufgaben, steht jedoch bei React Native iOS-Pipelines vor Herausforderungen. Der UI-Assistent, die Rezepte und die Wirtschaftlichkeit von Bitrise machen es besonders für enge Budgets günstig.
  11. Endgültiges Urteil: Erwägen Sie Bitrise mit seiner intuitiven Einrichtung, den produktionsbereiten Add-Ons und den wettbewerbsfähigen Preisen für die meisten Projekte, es sei denn, bestimmte Fälle erfordern die uneigennützige Natur von GitHub Actions.

TABLE OF CONTENTS

Automatisierung von mobilem CI/CD: Bitrise vs. GitHub Actions + Migrationsstudie

Hintergrund

Vor einiger Zeit hatten wir einen Kunden, der uns bat, seinen gesamten mobilen CI/CD-Flow von zu migrieren Bitrise zu GitHub-Aktionen. Das Projekt war eine auf iOS ausgerichtete React Native-Anwendung.

Nachdem wir die Beweggründe des Kunden hinter der Entscheidung herausgefunden hatten (wie alle Pipelines an einem Ort zu haben und die Liste der Anbieter zu reduzieren) und schnell recherchiert hatten, da es das erste Mal war, dass wir mobile Pipelines in GitHub Actions eingerichtet hatten, nahmen wir die Herausforderung an. Was sind die Ergebnisse? War es eine gute Entscheidung?

Der Arbeitsablauf

Der Pipeline-Workflow des Kunden war ziemlich normal.

Bei jedem Push ins Repository oder wenn der PR geöffnet wurde, haben wir zuerst den Code gelintet und dann den JS-Teil getestet.

Zusätzlich wurden auf dem Master-Branch E2E-Detox-Tests durchgeführt. Wir hatten auch die Möglichkeit, die manuellen Workflows für E2E und Deployment auszuführen.

Von Äpfeln zu Orangen?

Beide Anbieter unterstützen YAML-Konfigurationen, in denen Sie die Workflows angeben können.

Bitrise unterstützt aber auch den UI-Workflow-Editor. Ich habe die Meinung gehört, dass UI-Editoren nur für Amateure sind und nur grundlegende Funktionen bieten, aber im Ernst, der Editor beschleunigt den Konfigurationsprozess erheblich.

Lassen Sie uns unser Repo so konfigurieren, dass es beide CI/CD-Anbieter unterstützt. Wie kann das gemacht werden?

In GitHub Actions müssen wir eine neue Workflow-Datei in erstellen. Verzeichnis /github/workflows. Es könnte so aussehen:

Und voilà, wir haben einen GitHub Action-Workflow, der entweder bei Push an alle Branches oder manuell ausgeführt werden kann.

Nun wollen wir sehen, wie es in Bitrise aussieht. Da es sich um einen anderen Dienst handelt, müssen wir ihn zuerst mit dem Repo verbinden. Es hat einen Assistenten, der Sie durch den gesamten Prozess führt. Nur ein paar Dialoge/Einstellungen und Sie haben eine primäre, aber funktionierende Pipeline, die wir anpassen können.

Sie können über 200 Add-Ons verwenden, die als Workflow-Schritte verwendet werden, einschließlich Integrationen für die Erstellung und Bereitstellung von Apple-Apps. Dies ist wichtig, da es die Konfiguration dieser Schritte auf eine viel zugänglichere Weise als in GitHub ermöglicht.

Der Assistent kann sich auch automatisch mit der GitHub-API verbinden, sodass die Pipeline beim Push startet und den Status zurückmeldet.

Der Workflow ist auch als YAML-Konfiguration verfügbar:

Der entscheidende Unterschied zwischen den Anbietern hängt mit ihren Zielen zusammen. GitHub Actions ist eine generische Lösung, die völlig uneigennützig ist. Es gibt mehrere gemeinsame Aktionen auf dem Marktplatz, und Sie können sie nach Ihren Wünschen konfigurieren, aber es gibt kein Rezept, das Sie schnell an Ihr Projekt anpassen können.

Bitrise konzentriert sich jedoch auf Mobilgeräte und ist eigensinnig und bietet die Rezepte, die die Konfiguration beschleunigen sollten.

Mein subjektives Gefühl ist, dass Bitrise-Lösungen deutlich besser dokumentiert sind, Sie haben die oben genannten Rezepte und so weiter. Auf der anderen Seite ist GitHub Actions als iOS-CI eher eine Nische — zum Beispiel sagen Detox-Dokumente nicht einmal etwas über GitHub Actions-Konfigurationen aus, wohingegen verschiedene Anbieter beschrieben werden. Wie auch immer es machbar ist, wir haben es erfolgreich im Projekt unseres Kunden eingerichtet.

Signieren von Codes

Jedes Mal, wenn ich die Pipelines für die iOS-Entwicklung einrichte, sind für mich die Code-Signierung und der Testflight-Teil der problematischste Teil.

Wie speichere ich das Zertifikat? Wie signiere ich den Code? Dies sind die Fragen, die Sie bei der Verwendung von GH Actions selbst beantworten müssen.

Bitrise stellt eigene Add-Ons zur Verfügung, die das für Sie erledigen können, offenbar nach einer Konfiguration, die normalerweise in der Dokumentation gut beschrieben ist.

Zurück zu GH Actions haben wir uns entschieden, den Prozess mit Fastlane zu automatisieren. Für diejenigen, die damit nicht vertraut sind: Es handelt sich um ein Tool zur App-Automatisierung, mit dem Aufgaben im Zusammenhang mit der Bereitstellung mithilfe sogenannter Lanes automatisch ausgeführt werden können.

Ein Beispiel für Fastlanes Lane zum Erstellen der iOS-App:

Wir haben Fastlane verwendet Zertifikat und Seufzer Ansatz, der das Laden der Zertifikate/Bereitstellungsprofile und das Signieren der App übernimmt. Aber zuerst mussten wir das Zertifikat in den Schlüsselbund importieren, was etwas kompliziert ist, wenn Sie nicht oft mit Mac-Pipelines arbeiten. Ein Beispielskript könnte so aussehen:

Es gibt auch einen alternativen Fastlane-Ansatz namens Spiel das die Zertifikate und Bereitstellungsprofile in einem dedizierten Repository speichert, könnte es GitHub oder ein anderer Anbieter sein.

Wir haben uns jedoch für den Ansatz „Zertifikat und Seufzer“ entschieden.

Wie wird das in Bitrise gemacht? Nun, du musst nur die Zertifikate hochladen und ein paar Einstellungen anpassen:

Preisgestaltung

Ein gesparter Cent ist ein verdienter Cent, also vergleichen wir die Preispläne.

Die Preisstrategie von GitHub Actions basiert auf den Freiminuten, die dem Konto zugewiesen sind, und auf Zahlungen, die Sie unterwegs erhalten, wenn das kostenlose Limit erreicht ist.

Auf den ersten Blick haben Sie vielleicht den Eindruck, dass Sie 2000 oder sogar 3000 Freiminuten erhalten, aber Vorsicht vor dem Betriebssystem-Multiplikator. Ja, du bekommst 2000/3000 Minuten, solange es sich um einen Linux-Build handelt. Wenn Sie einen Mac verwenden, reduziert sich der Wert um das Zehnfache. (Aber wenn Android auf Linux entwickelt wird, kann diese Preisgestaltung sehr großzügig sein).

Jede Minute, die über das kostenlose Limit hinausgeht, kostet mindestens 0,08$ für ein 3-Core-Gerät, und der Preis ist derselbe, egal wie viele Minuten Sie damit verbringen.

GitHub-Preise:

Weitere Informationen finden Sie auf der GitHub Preisseite.

Bitrise bietet 300 Rechenminuten kostenlos an. Im Gegensatz zu Github haben die zusätzlichen Minuten keinen festen Preis — je mehr du verbrauchst, desto weniger zahlst du. Die erste Team-Stufe beinhaltet 500 Minuten, jeweils 0,07$, und die letzte Stufe beinhaltet 50 000, jeweils 0,0351$.

Bitrise-Preise:

Weitere Informationen finden Sie auf der Bitrise Preisseite.

Fazit

GitHub Actions ist definitiv eine stabile und robuste CI-Lösung, die vom Technologieriesen unterstützt wird. Ich arbeite gerne damit an unseren Projekten, in denen wir unter Linux arbeiten und gängige, bekannte Aufgaben erledigen. Aber die React Native iOS-Pipeline ist eine andere Geschichte — sie ist ein bisschen schwierig einzurichten und das ist überhaupt nicht schlecht — wir, Softwareentwickler, mögen Herausforderungen, nicht wahr? Aber die Tatsache, dass in Bitrise die Pipeline im UI-Assistenten mithilfe von Rezepten für produktionsreife Add-Ons eingerichtet werden kann, und das in den meisten Fällen zu einem niedrigeren Preis, macht diese Entscheidung zu einem Kinderspiel.

Es mag einige Fälle geben, in denen die eigensinnigen und niederen Eigenschaften von GitHub Actions zum Vorschein kommen, aber in den meisten Fällen würde ich empfehlen, Bitrise zu verwenden, insbesondere wenn Sie an einem MVP-Projekt arbeiten, bei dem Termine und Budgets ziemlich knapp sind.

Frequently Asked Questions

No items found.

Our promise

Every year, Brainhub helps 750,000+ founders, leaders and software engineers make smart tech decisions. We earn that trust by openly sharing our insights based on practical software engineering experience.

Authors

Tomasz Pierzchała
github
JavaScript-Softwareentwickler

Full-Stack-Softwareingenieur mit 8 Jahren Berufserfahrung. Absolvent der Schlesischen Technischen Universität.

Tomasz Pierzchała
github
JavaScript-Softwareentwickler

Full-Stack-Softwareingenieur mit 8 Jahren Berufserfahrung. Absolvent der Schlesischen Technischen Universität.

Read next

No items found...