Wie richte ich CI & CD für Android-Projekte mit Jenkins und Gitlab ein?

Dies ist der erste Teil einer Artikelserie, in der Sie eine vollständige Anleitung zum Einrichten einer CI- und CD-Umgebung für Ihre Android-Projekte erhalten.

In kleinen Projekten können Entwickler Aufgaben manuell ausführen, um Projekte zu erstellen, zu testen und bereitzustellen. Wenn das Projekt exponentiell wächst, wird es zu großen Kopfschmerzen.

Automatisieren Sie mehr, damit Sie weniger tun.

Als Entwickler ist es Ihr Ziel, so viele Prozesse wie möglich zu automatisieren. Arbeite hart, um weniger zu arbeiten. In unserem Fall können Sie durch die Einrichtung eines CI-Systems Updates häufiger und mit weniger (Null-) Aufwand von Ihrer Seite versenden.

Was ist eine kontinuierliche Integration?

Continuous Integration (CI) ist der Prozess der Automatisierung der Erstellung jedes Mal, wenn ein Teammitglied Änderungen an der Versionskontrolle festlegt.

Es gibt viele Plattformen für die kontinuierliche Integration, von denen einige auf Ihrem eigenen Computer eingerichtet werden können, während die anderen cloudbasierte Lösungen anbieten.

Jetzt ist die kontinuierliche Integration klar (ich hoffe es), und wir können zur kontinuierlichen Bereitstellung übergehen.

Continuous Deployment (CD) ist eine Strategie für Software-Releases und CI ist ein Baustein dieses Prozesses.

Wie es funktioniert?

  1. Entwickler überprüfen den Code lokal und schreiben die Änderungen in das Repository ein.
  2. Das Repository sendet eine Anfrage (Web-Hook) an das CI-System
  3. Der CI-Server führt einen Job aus, der einen Build generiert und Tests ausführt, um sicherzustellen, dass Ihr Code wie erwartet funktioniert.
  4. Endlich die APK-Datei für die Produktion bereitstellen (Google Play Store)

So sieht der Prozess ungefähr aus:

Klingt gut? Genial. Lass uns das machen…

Ein guter Build-Prozess erleichtert jedem das Leben. Als Beispiel werden wir die folgenden Services für unseren Build- und Distributionsprozess verwenden.

Verwendete Dienste:

Quellcodeverwaltung: GitLab
CI-Server: Jenkins
Build-Verteilung: Beta von Fabric

Gitlab + Jenkins + Fabric Beta = Super !!

Für die Automatisierung eines herkömmlichen Android-Workflows verwenden wir die oben genannten Dienste und kleben sie zusammen. Aber bevor wir dorthin gehen, müssen wir sie eins nach dem anderen nehmen und sehen, was sie tun.

GitLab:

GitLab ist eine Git-Hosting-Lösung mit einem sehr großen Toolset. Es ist für unbegrenzte Benutzer, unbegrenzte private Repositories und vollen Zugriff auf die meisten der fantastischen Funktionen, die sie bieten, völlig kostenlos.

Jenkins:

Jenkins ist ein Open-Source-Automatisierungsserver, genauer gesagt ein Continuous-Integration-Server. Jenkins ist der langjährige Herrscher des CI / CD-Raums. Es bietet Hunderte von Plugins für die Erstellung, Bereitstellung und Automatisierung von Projekten.

Beta von Fabric:

Fabric Beta ist das App-Verteilungstool. Der Vertriebsprozess ist viel einfacher als bei anderen Diensten. Außerdem bietet es ein nettes UI-Dashboard, um die Builds zu verwalten und die Benutzer / Tester einzuladen.

Dazu müssen wir lediglich eine E-Mail-Adresse des Benutzers im Fabric-Konto für ein Projekt hinzufügen. Der Benutzer erhält eine E-Mail-Benachrichtigung, sobald der Entwickler ein neues Build erstellt.

Schritte für einen fantastischen Build-Prozess:

1. Richten Sie Jenkins Server & Gitlab ein
 2. Android Build Configuration & Automation
 3. Verteilen Sie Builds mit Versionshinweisen, um Benutzer über Fabric Beta zu testen
 4. Automatisierte Bereitstellung

Was kommt als nächstes?

Im nächsten Teil dieses Beitrags konzentrieren wir uns auf das Jenkins-Server-Setup und das Gitlab-Setup für diesen Automatisierungsprozess.

Hat dir die Geschichte gefallen? Lass ein paar Klatschen hier auf Mittel und teile es mit deinen Freunden. Möchten Sie auf dem neuesten Stand der Android-App-Entwicklung bleiben? Folge mir auf Twitter. Ich werde Ihren Feed nicht als Spam versenden.

Überprüfen Sie alle Top-Artikel auf http://droidmentor.com/