Skip to content

Docker Release

Sascha El-Sharkawy edited this page Aug 22, 2024 · 2 revisions

Automatisiertes Vorgehen über die SSE-Build-Pipeline

Während der Projektlaufzeit wurde eine Build-Pipeline erstellt, mit deren Hilfe die Releases weitest gehend automatisiert erzeugt wurden. Diese wird auch noch einige Zeit nach dem Projekt bereit stehen. Dazu muss wie folgt vorgegangen werden:

  1. Code fertig stellen, ggf. Tests durch führen
  2. Versionsnummer in der package.json anpassen, da diese Versionsnummer ausgelesen wird und für die Versionsnummer des Docker Images verwendet wird.
  3. Code mit einem Tag (Versionsnummer des Releases + Changelog im Kommentar) versehen, um so die Reproduzierbarkeit der Releases zu gewährleisten.
  4. Im Build-Server den Build für den Tag anstoßen (startet nicht automatisiert). Als Teil des Builds wird das Docker Image erzeugt und automatisiert bei GitHub hochgeladen. Ab diesen zeitpunkt kann es von Dritten direkt verwendet werden.
  5. Das Release (Tag, Changelog und Docker Image) auf der Release-Seite verlinken, so wird eine Übersichtsseite zu den verschiedenen Releases geboten.

Dazu können die einzelnen Schritte in der Jenkinsfile nachgelesen werden, diese wurde aber um eine eigene OSS-Erweiterung (+ ggf. private Token) erweitert, die nicht direkt auf einer frischen Jenkins Instanz so übernommen werden können.

Manuelle Erzeugung eines Releases

Sollte die Build-Pipeline nicht mehr zur Verfügung stehen, könnten Release auf folgende Arten umgesetzt werden:

  • Aufsetzen und konfigurieren einer eigenen Jenkins Instanz: Bedarf Einarbeitungsaufwand und ggf. Konfiguration von Zugriffstoken und Erweiterungen.
  • Verwendung von GitHub Actions: Hier hat das SSE keine bisherigen Erfahrungen (da Jenkins bereits vorher eingeführt wurde).
  • Manuelle Erzeugung eines Releases

Im Folgenden werden die notwendigen Schritte für die manuelle Erzeugung eines Docker Images erläutert:

Clone this wiki locally