Linux-Packages erstellen aus fertigen Binaries – mit automatischen Updates

Man kennt das Problem: in der Linux-Distribution der Wahl ist eine gewünschte Software nicht als Paket verfügbar, oder nicht in der Version, die man braucht/möchte. 

Früher™ hätte man häufig selbst kompilieren müssen. Heutzutage, und insbesondere mit Programmiersprachen wie Go oder Java, aus denen (fast) statische Binaries/JARs fallen, stellen viele Upstreams eigene Binaries für ihre Programme bereit. Mit etwas Glück auch in Form von DEBs oder RPMs – aber leider nicht immer.

„Linux-Packages erstellen aus fertigen Binaries – mit automatischen Updates“ weiterlesen

Featurebranches mit Gitlab auf gemeinsamer Stage-Umgebung testen

Im Hosting-Team von Babiel verwenden wir (natürlich) Git-Repos für unsere Anwendungen und Konfigurationen. Wir nutzen Gitlab um die Repos zu hosten. Dabei arbeiten wir stark mit Featurebranches, Merge Requests und CI-Pipelines, damit Änderungen vor dem Rollout einen Code-Review und automatische Tests durchlaufen können. Üblicherweise erlauben wir in unseren Repos nicht, direkt in den Hauptbranch (master/main) zu pushen, damit dort keine Änderungen ankommen, die die Pipeline für die Kolleg*innen kaputt machen würden.

Manchmal möchte man einen Branch tatsächlich deployen, um ihn bewerten zu können, bevor man ihn merget. Bei Gitlab gibt es dazu das Feature „Review Apps“, mit dem Branches in eine temporäre Umgebung ausgerollt werden können. Gitlab zeigt auch einen Link zu dieser Umgebung an, so dass man direkt dorthin springen kann. Wenn man den Branch löscht (was meistens automatisch beim Merge passiert), wird die temporäre Umgebung ebenfalls gelöscht.

Review Apps sind ein sehr nützliches Feature. Wir benutzen es für die meisten Services, die wir auf Kubernetes betreiben, denn dort können wir schnell zusätzliche Umgebungen erstellen und ebenso schnell auch wieder löschen. 

„Featurebranches mit Gitlab auf gemeinsamer Stage-Umgebung testen“ weiterlesen