Unser Labor - Einrichtung der Entwicklungsumgebung
Was wir bisher zu dem Thema veröffentlicht haben finden Sie hier:
Teil 1 - Teil 2 - Teil 3 - Teil 4 - Teil 5 zu Model Driven Transformation for Streaming Applications
In diesem Beitrag wird Ihnen die benötigte Entwicklungsumgebung, welche für dieses Projekt zusammengestellt wurde, vorgestellt.
Die Challenge/Vision:
Ziel ist es eine Entwicklungsumgebung bereitzustellen, welche die Zusammenarbeit via GIT unterstützt und nach dem Installieren direkt und ohne größere Anpassung funktioniert.
Unsere Lösung:
Hierzu benötigen wir einen GIT-Server über welchen wir den Code synchronisieren. Dieser Server wird durch eine Client-Installation ergänzt. Hierbei setzen wir auf eine portable Installation.
Vorteil: Nach dem Entpacken ist diese Umgebung sofort einsetzbar. Für ggf. notwendige Einrichtungen z.B. für private Schlüssel und Benutzerkonfigurationen erstellen wir ein Einrichtungsskript.
Sehen wir uns im Folgenden die Einrichtung genauer an.
Der Server
Auf einem bereitgestellten Debian Server installieren wir uns Docker. Hierzu müssen wir vorbereitend apt für https einrichten, docker zum apt-repository hinzufügen und den apt-key der Docker-Seite registrieren. Anschließend können wir Docker wie gehabt mittels apt installieren.
Anschließend können wir uns mittels Docker ‚pull‘ den Gitlab -Container herunterladen.
Nun müssen wir uns noch ein Portmapping definieren und das Image starten.
Im Anschluß müssen wir noch ein paar Gitlab Konfigurationsdateien anpassen, um zum Beispiel den enthaltenen nginx-Proxy für https einzurichten. Damit ist die Installation des Servers abgeschlossen.
Client
Für den Client benötigen wir folgende Software:
- Git Portable
- Eclipse mit dem Spring Tool Suite
- Apache Kafka
- Apache Tomcat
- Java Development Kit (JDK)
All diese Software lässt sich portable installieren, was die Verteilung der Software vereinfacht. Einrichten müssen wir die Startskripte, damit Eclipse, Apache Kafka und der Tomcat mit der Java-Version im Installationspaket arbeiten. Des Weiteren wird ein Eclipse Workspace mit vorkonfigurierten Einstellungen ausgeliefert. Dies betrifft vor allem den Code-Formater und das Encoding (UTF-8).
Für die Einrichtung einer gesicherten Serververbindung und der GIT-Konfiguration benötigen wir ergänzend ein Einrichtungsskript. Dies übernimmt die GIT-Einrichtung und die Erzeugung der ssh-Schlüssel.
Einzige händische Tätigkeit bleibt das Eintragen des ssh-Public-Key im Gitlab. Wie der keygen-Befehl offenbart liegt die git_id_rsa-Datei im Benutzerverzeichnis (gekennzeichnet durch ~) im Ordner .ssh. Hier existieren zwei Dateien, wobei die git_id_rsa den privaten Schlüssel enthält, welcher niemals geteilt werden sollte. Die zweite Datei – die git_id_rsa.pub - enthält den öffentlichen Schlüssel. Dieser muss im Benutzerprofil in Gitlab unter dem Punkt SSH-Schlüssel hinzugefügt werden. Damit ist sichergestellt, dass nur registrierte Benutzer das Repository nutzen.
Und nun kann es auch schon losgehen. Mittels git clone das Repository lokal einrichten und mit Eclipse loslegen.
Zusammenfassung
Schauen wir uns die Struktur der Software kurz an. Wie in Abbildung 1 betreibt der Server via Docker eine Gitlab-Instanz, welche den Quellcode verwaltet. Dieser wird vom Client via GIT-bash abgerufen und mittels Eclipse editiert. Apache Kafka und Tomcat dienen den lokalen Tests.
Abbildung 1: Technology Layer Diagramm unseres Entwicklungslabors
Weiterlesen:
Im folgenden Blog-Beitrag wird Ihnen die Anbindung der Producer und Consumer an Apache Kafka vorgestellt.
MID Blog Newsletter abonnieren