Automatisierung von App-Entwicklungsumgebungen mit GitLab und Relution

Worum es hier geht

Wenn Sie in einem größeren Unternehmen oder einer Agentur arbeiten, die viele Apps entwickelt und versendet, kann der Freigabeprozess sehr zeitaufwendig werde. In einem solchen Szenario sind viele Menschen involviert, wie z.B. die IT-Abteilung, Fachabteilung, App-Owner, die Tester und natürlich die Entwickler. Darüber hinaus verwenden all diese Menschen verschiedene Werkzeuge für die Aufgaben Entwicklung, Test und App-Verteilung, die zu einer Fragmentierung der IT-Infrastruktur und der Verbreitung von Zugangsdaten führt. Eine weitere wichtige Sache, die man beachten sollte, ist die Verantwortung für diese Tools und die Infrastruktur, die nur selten genutzt wird. Als Entwickler zum Beispiel möchte ich nicht für das Management der Quellcode-Repositorys und Infrastruktur für Continuous Integration verantwortlich sein. Als verantwortlicher IT-Infrastrukturmanager habe ich keine Ahnung, mit welchen Problemen man im Code der Business-App umgehen muss und wie die App mit dem CI-Tool erstellt wird. Währenddessen wächst die Nachfrage für schnellere App-Bereitstellung. Warum gibt es keine Infrastruktur, die diese Probleme ein für allemal lösen kann?

Die Kombination aus dem führenden Git-Repository und dem Continuous-Integration-Tool - GitLab und der Enterprise Mobility Lösung Relution. Ein vollständige App Lifecycle Management löst diese Probleme.

Der gesamte App-Release-Prozess, von der Einrichtung neuer App-Projekte bis hin zu der erforderlichen Infrastruktur, um Apps an Kunden zu versenden. Die App-Verteilung über Unternehmens- oder öffentliche App-Stores, kann hiermit vereinfacht und automatisiert werden.

GitLab - Funktionsreich, offen und weit verbreitet

Es muss nicht nachgewiesen werden, dass der Einsatz von Code Repositories und CI/CD-Tools (Wikipedia) Teams in Softwareprojekten bei der Entwicklung helfen. GitLab ist einer der drei großen Player da draußen (zusammen mit dem GitHub & BitBucket) und findet viel Anwendung, vor allem in Unternehmen und Behörden (laut GitLab-Website, wird es von mehr als 100.000 Unternehmen verwendet). Es verfügt über einen großen Funktionsumfang, der die gesamte App-Entwicklung abdeckt. Es hat eine riesige Community und viele Erweiterungs- und Scripting-Möglichkeiten. Eins der tollen Dinge an GitLab ist die Kombination von Git-Repositories und Continuous Delivery Build Jobs. Entwickler können ihren Code einchecken und definieren eine sogenannte.yml-Datei, die alle Befehle zum Kompilieren, Erstellen und Freigeben einer App beinhaltet. Der integrierte kontinuierliche Bereitstellungsmechanismus baut die App dann automatisch bei jedem neuen Commit auf.

App-Management von A bis Z

Relution ist ein mobiles App Lifecycle Management Tool, das eine bestimmte Perspektive auf die Apps hat. Es unterstützt den Release-Lebenszyklus verschiedener App-Versionen und bietet eine Infrastruktur für das App-Management. Nachdem eine App in Relution hochgeladen wurde (natürlich kann dieser Schritt automatisiert werden), kann sie von den App-Besitzern in verschiedenen Phasen freigegeben werden. Sie können Berechtigungen für Entwickler, Tester und App-Besitzer definieren, damit die App in verschiedenen Phasen überprüft werden kann. Zusätzlich kann Relution Metadaten von Apps wie Beschreibungen und Screenshots verwalten, sowie die Apps automatisch neu signieren. Dies hilft insbesondere Unternehmen mit vielen externen Apps die von Agenturen angeliefert werden. Das Relution Signing hilft dabei, die Unternehmenszertifikate und sonstige kritische Daten im Unternehmen zu halten und diese nicht nach Extern verteilen zu müssen. Relution ermöglicht es Unternehmen auch, von einem eigenen App Store zu profitieren, der für Unternehmensanwendungen genutzt wird. Diese Funktion wird hauptsächlich für Firmen-Apps verwendet, die nicht über die öffentlichen App-Stores verteilt werden sollen - wie z.B. interne Apps, CRM-Apps oder andere Geschäfts-Anwendungen.

Die Kombination ist die Lösung!

Um auf das in der Einleitung beschriebene Problem zurückzukommen, möchten wir Ihnen eine Lösung zeigen, Folgend ist beschrieben, wie ein Workflow in der Realität mit GitLab und Relution aussehen könnte:

  1. Alice ist die Vertriebsleiterin von Firma X. Sie hat die Idee für eine neue App, die die Effizienz in der Abteilung erhöhen soll. Nach ein paar Meetings und viel Arbeit weiß sie, was sie braucht. Sie ist verantwortlich für die neue App, also hat sie die Rolle 'App Owner'. Sie loggt sich in ihr Relutionkonto ein und fordert eine neue Entwicklungsumgebung an - KLICK
  2. Bob ist ein IT-Mitarbeiter, der für die mobile Infrastruktur verantwortlich ist und eine E-Mail erhält, die sagt: "Alice hat einen Antrag auf eine Entwicklungsumgebung für eine neue App - Bitte genehmigen!". Das tut er auch - KLICK.
  3. In der Zwischenzeit hat Alice, die Besitzerin der App, eine externe App-Agentur gefunden, die die App entwickeln, weil sie weiß, dass die interne Entwicklungsabteilung aktuelle keine Entwicklerressourcen hat. Sie lädt Entwickler zu den genehmigten "Entwicklungsumgebung" - KLICK KLICK.
  4. Carl und Carol, die App-Entwickler, erhalten eine E-Mail darüber, wo ihr Git-Repository und der Build Job liegt ist und wie dieser zu konfigurieren ist. Sie beginnen mit der Entwicklung der App - HACK HACK HACK HACK.
  5. Plötzlich erhält Alice eine Push-Meldung "Deine App kann überprüft werden" von Relution. Über den Relution Enterprise App Store kommt die App auf ihr Telefon - KLICK.
  6. Alice ist überrascht, wie schnell das passiert ist und überprüft die App. Sie ist glücklich und drückt auf "Release" in ihrer Relution App store App - KLICK
  7. Die App wird von nun an an das gesamte Verkaufsteam verteilt und kann somit die Effizienz der Mitarbeiter steigern.

Wie gefällt Ihnen dieser Workflow? Sie haben Fragen, oder?

Wo die "Magie" stattfindet - Hintergrundaktivitäten

Relution nutzt viele der großartigen Funktionen von GitLab im Hintergrund. Wenn eine Entwicklungsumgebung' von der IT genehmigt wird, wird ein neues Projekt-Repository angelegt. Es ist mit zwei wichtigen Dateien vorbelegt: die.yml-Datei und ein Uploadskript. Die .yml-Datei wird verwendet, um einen Build-Job einzurichten und das Upload-Skript wird für das Hochladen der App-Artefakte in Relution zur weiteren Verarbeitung verwendet. Zusätzlich werden die Entwicklerrechte automatisch auf dem GitLab-Server und im Repository festgelegt, so dass die definierten Entwickler mit ihrem SSH-Schlüssel mit dem Repository kommunizieren können. GitLab kann (muss aber nicht) im Hintergrund bleiben, da die Entwickler ihre Buildparameter in der .yml-Datei definieren können. Die erstellten Apps können über die Relution-App an die Entwickler verteilt werden (der Entwickler commited etwas und nach einer Weile erhält er die gebaute App auf seinem mobilen Gerät zur Prüfung). Natürlich müssen Entwickler ihren öffentlichen SSH-Schlüssel in Relution hochladen, bevor sie das Repository klonen können. Von nun an wird ein neuer Build auf dem ontinuous Integration Server ausgelöst, sobald ein Entwickler Änderungen am Master durchführt. Die Build-Artefakte (Apps), die durch einen erfolgreichen Build erstellt wurden, werden in Relution hochgeladen und sind mit der entsprechende Entwicklungsumgebung verknüpft. Hochgeladene Apps sind in der Relutionansicht App Store oder über den Development Hub sichtbar.

Vorteile für die Fachabteilung

  • - Sparen Sie mindestens eine Woche pro neuem App-Projekt für die Beantragung und Einrichtung einer Entwicklungsumgebung (Quellcode-Repository) & Build Job )
  • - Erste funktionierende Version einer neuen App ist schneller verfügbar
  • .
  • - Neue Versionen können durch den automatisierten Prozess früher getestet und schneller als je zuvor zur verteilt werden
  • - Keine Notwendigkeit für Entwickler und App Owner sich mit IT-Infrastruktur-Themen auseinander setzen zu müssen
  • - Eine einfache Möglichkeit, Apps von einem Handy aus zu installieren, zu überprüfen und freizugeben

Vorteile für die IT-Infrastruktur

>
  • - Einheitliche App-Projektentwicklungsinfrastruktur
  • - Keine Notwendigkeit für neue Tools und Setups für jedes neue App-Projekt
  • - Ein einfacher und organisierter Prozess für jeden Entwickler, App-Besitzer, Tester und Benutzer
  • .
  • - Bleiben Sie auf dem Laufenden über neue App-Anfragen und Entwicklungsumgebungen

Vorteile für Entwickler

  • - Vorbereitetes Git-Repository und CI-Job - kein Setup erforderlich
  • >
  • - Einfache Konfiguration von Build-Jobs in einer.yml-Datei
  • - Einfaches Testen durch den Relution Enterprise App Store
  • - Schneller Freigabemechanismus vom Zustand "Entwicklung" bis zur Überprüfung

Anforderungen

>

Mobile Device & App Management mit Relution

Kostenlos und zeitlich unbegrenzt für bis zu 10 Geräte & 5 Apps. Keine Zahlungsinformationen notwendig.