• Learning Friday

LF-Projekttagebuch: Bewerberservice fließt durch Argo

Tag 1

Früh am Morgen hatten wir bereits eine tolle Überraschung! Das Team wurde spontan durch Erhard verstärkt, der einfach nicht widerstehen konnte bei diesem spannenden Thema mitzuarbeiten. Als ersten Punkt tauschten wir uns aus, um ein einheitliches Verständnis über Argo Workflows und Argo Events zu erlangen. 

Die Teilnehmer Felix, Marko, Erhard und Herbert hatten bereits Erfahrung mit CI/CD, Automatisierung, Imagebau, Git, Openshift usw. also alles was man so braucht um eine Applikation zu Releasen und in Produktion zu deployen. Es war toll zu beobachten, wie schnell ein gemeinsames Verständnis entwickelt wurde und um wieviel einfacher es ist an einem Thema zu arbeiten bei dem die Basis bei allen Teilnehmern vorhanden ist.

Für den ersten Tag haben wir uns als Ziel gesetzt, Argo Events und Argo Workflows auszuprobieren, zu verstehen und die Applikation zu bauen und zu deployen. 

Spoiler: wir haben es fast geschafft 🙂

Es gibt zwar Beispiele, an die wir uns halten konnten, jedoch trafen diese nicht ganz unsere Vorstellung. Es wurde schnell klar, dass Argo Workflows und Events sämtliche Werkzeuge zur Verfügung stellen, man jedoch viel investieren muss, um erste Ergebnisse zu bekommen. Wir arbeiteten trotzdem einfach drauf, natürlich immer das Ziel im Auge, um ein Gefühl für die Tools und die Möglichkeiten zu bekommen. Wir gingen dabei iterativ vor und besprachen über den Tag verteilt unsere Learnings. Bei der nächsten Iteration ging es schon leichter und wir starteten mit komplizierteren Themen. Oder wir merkten, dass wir etwas nicht brauchten :-). 

Die Idee und die Pipeline sind einfach. Für ein Deployment in “Prod” reichte die Zeit dann leider doch nicht.

argo workflows

Tag 2

Wir starteten mit einer Quick Retro. Negative Punkte fanden wir zum Glück nur schwer. Das war ein erstes gutes Zeichen, dass Vorgehen und Umsetzung geglückt sind. Die Meinung blieb einheitlich. Argo Workflows und Events braucht Menschen, die sich viel damit beschäftigen und schon tiefes Wissen rund um CI und Kubernetes mitbringen.

argo workflows

Die Ziele für den Tag wurden wieder entschieden und jeder wusste was zu tun war. → Gefeuerte Events (Git Webhooks) triggerten einen Workflow. Der Workflow editierte ein Git Repository und setzte den Image Tag neu, damit Argo CD deployen konnte.

Besonders einfach war es nun einen neuen Branch zu bauen. Im Repository wurde nur ein neuer Branch angelegt. Per Webhook wurde ein Event getriggert, was wiederum eine Argo Applikation erstellte. Wir bauten dann einiges um, da wir nicht ganz zufrieden waren in welchem Namespace gewisse Dinge lagen und passierten.

Nach 17 Uhr schlugen Hunger und Durst zu und wir bekamen auch Besuch unserer Kollegin Alexandra, die uns dann half die Köpfe ausrauchen zu lassen. Das Bier trug auch dazu bei 🙂

Es wurde einiges geschafft, jedoch das Deployment in “Prod” fehlt immer noch XD.

argo workflows

Tag 3

Freitag, bei Gepardec ein Learning Friday. In beinahe noch stockdunkler Nacht (um 8:30) trafen wir uns zum Frühstück. Herbert und Marko waren schon mitten in der Arbeit und ließen sich nicht zum Frühstück überreden, was sich später mittels Heißhungerattacke bitter rächen sollte.

Ziel des Tages war Ordnung in das geschaffene Chaos zu bringen und unsere Erkenntnisse zu strukturieren. Wir teilten die Git-Repositories in drei Bereiche

  1. Source Repositories für die Applikation 
  2. Repositories für die Stages der Laufzeitumgebungen
  3. Ein Repository für die Argo-Infrastruktur (Events, Workflows, ArgoCD)

Außerdem waren noch Kleinigkeiten zu erledigen, wie die uns unbekannte Applikation zum Laufen zu bekommen und diverse Copy-Paste Fehler aufzuspüren (Port 8080 ist nicht 8081).

Letztendlich klappte das Zusammenspiel der Komponenten aber recht gut und wir bauten eine Pipeline mit der wir bei Check-In in den Main-Branch das Image erstellen und direkt in die zukünftige Produktionsumgebung deployen konnten. Wir schafften beinahe, dass ein Push auf einen neuen Entwicklungsbranch direkt ein Deployment in eine neu erstellte Testumgebung triggerte. Dabei spielte die Infrastruktur von Kubernetes bis zu Argo-Events ihre Stärken aus.

argo workflows

Schlussendlich konnten wir auch ein grünes Hackerl unter das Prod Deployment setzen!

Das LF-Projekt ist sehr gelungen durch die motivierte Teilnahme und wir können jetzt besser einschätzen ob, wo und wie wir diese Tools in Zukunft einsetzen.

geschrieben von:
Herbert
WordPress Cookie Plugin von Real Cookie Banner