CI/CD - Deployment

mihe7

Top Contributor
Hallo zusammen,

wir fahren aktuell verschiedene Ansätze zur Bereitstellung unserer Java EE-Anwendungen. In jedem Fall wird beim Commit ein Jenkins-Build getriggert, der die Anwendung in der Testumgebung (kein Docker) bereitstellt. Für eine Produktivumgebung, die ebenfalls noch kein Docker verwendet, kann manuell ein Deployment aus Jenkins heraus angestoßen werden. Das ist historisch gewachsen und hat auch gut funktioniert.

Für die Docker-Geschichten habe ich mangels Zeit aber noch keinen schönen Ansatz gefunden. Aktuell ist das eine Frickel-Lösung per bash-Skript, die sich die Deployment-Unit aus dem Jenkins-Workspace kopiert, dann ein docker build ausführt. Anschließend müssen die Instanzen via docker-compose manuell neu gestartet werden (docker-compose down && docker-compose up -d). Ich würde das gerne automatisieren.

Wie handhabt ihr das?
 

mrBrown

Super-Moderator
Mitarbeiter
Aktuell ist das eine Frickel-Lösung per bash-Skript, die sich die Deployment-Unit aus dem Jenkins-Workspace kopiert, dann ein docker build ausführt.
Das lässt sich relativ schön mit dem Docker-Plugin lösen. Entweder als zusätzlicher Schritt im Build, oder als extra Build, welcher das Artefakt aus dem vorgelagerten nutzt, am Ende landet dann das Image in eurer/der zentralen Registry.

Anschließend müssen die Instanzen via docker-compose manuell neu gestartet werden (docker-compose down && docker-compose up -d).
Kommt ein bisschen auf das Umfeld an, da gibts verschiedenste Lösungen je nach Stack, für reines Docker-Compose wären zb Watchtower oder Ouroboros nutzbar.
 

Ähnliche Java Themen

Neue Themen


Oben