Für eine interne Platform zur Vermittlung von firmeneigenen Leasingfahrzeugen,
habe ich Continuous Integration Workflows erstellt
und die dazu gehörenden GitHub Repositories eingerichtet. Die Platform
besteht aus einem vue-Frontend und mehreren Kotlin-basierten
Services. Dieser gesamte Stack wird mit helm, kubernetes und terraform
in einen AWS EKS Cluster deployt.
Für Continuous Integration und das Deployment werden GitHub-
Actions auf einer privaten GitHub-Enterprise Instanz genutzt. Meine
Aufgaben bestanden darin, diese Deployment- und CI-Workflows zu
implementieren und zu verfeinern. Die Workflows erlauben das automatische
und parallele Deployen von mehreren Features der einzelnen
zum Projekt gehörenden Anwendungen. Die Workflows vermeiden
dabei, dass die einzelnen Deployments in Konflikt geraten oder
sich gegenseitig beeinflussen. Ebenso konfigurieren die Workflows
ihre Deployment-Artefakte dynamisch, je nachdem ob für die Abhängigkeiten
des Artefakts schon ein Deployment für das selbe Feature
existiert. Weiterhin habe ich Workflows für verschiedene Quality
Gates (Linter, Security Scans) erstellt.
Ich habe außerdem die zum Projekt gehörenden GitHub Repositories
eingerechtet, besonders mit Blick auf Berechtigungen und Sicherheit.
Hierzu gehörten Berechtigungen für die Entwickler, Berechtigungen
für Branches und GitHub-Environments und Berechtigungen und
Ausnahmen für Service-Accounts. Letztere wurden für manche Automatisierten
Workflows benutzt.
Zusätzlich habe ich in den Kotlin-Services und dem vue-Frontend
einzelne Features implementiert.