Skip to content

Deployment-Konzept

Diese Dokumentation beschreibt, wie Deployments in unseren Projekten strukturiert sind.

Ziel

Jeder Stand eines Projekts soll über eine klar definierte Umgebung und URL erreichbar sein. Die Zuordnung erfolgt über den Git-Branch bzw. Git-Tag und den dazugehörigen Image-Tag.


Umgebungen und URL-Schema

Dev-Server

1. Entwickler-Branches

Für Feature-, Bugfix- oder sonstige Entwickler-Branches wird folgende Struktur verwendet:

<branch>.<kunde?>.<product>.dev.appcenter.de

  • Zweck: Testen eines individuellen Entwicklungsstands
  • Image-Tag: Branch-Tag
  • Beispiel: feat-mein-feature.selbstauskunft.dev.appcenter.de

Branch-Namen mit / werden in der URL durch - ersetzt.

2. Develop-Branch

Für den gemeinsamen Entwicklungsstand auf develop wird folgende Struktur verwendet:

<kunde?>.<product>.dev.appcenter.de

  • Zweck: Zentraler Entwicklungsstand
  • Image-Tag: dev
  • Beispiel: selbstauskunft.dev.appcenter.de

Prod-Server

3. Main-/Master-Standaging

Für den Stand aus main bzw. master wird folgende Struktur verwendet:

<kunde?>.<product>.staging.appcenter.de

  • Zweck: Staging-Umgebung vor dem finalen Release
  • Image-Tag: master
  • Beispiel: selbstauskunft.staging.appcenter.de
4. Release

Für offiziell veröffentlichte Versionen, die per Git-Tag markiert wurden:

<product>.appcenter.de

  • Zweck: Produktive Release-Version
  • Image-Tag: release
  • Grundlage: letztes Git-Tag
  • Beispiel: selbstauskunft.appcenter.de

Deployment-Flow

Beispiel für den Ablauf eines Features in der Selbstauskunft:

1. Feature-Entwicklung

Du entwickelst ein Feature im Branch:

feat/mein-feature

Nach einem Push ist der Stand unter folgender URL erreichbar:

feat-mein-feature.selbstauskunft.dev.appcenter.de

2. Merge in develop

Nach dem Merge in den develop-Branch ist der aktuelle Entwicklungsstand hier erreichbar:

selbstauskunft.dev.appcenter.de

3. Merge in main / master

Nach dem Merge in main bzw. master wird der Stand auf der Staging-Umgebung bereitgestellt:

selbstauskunft.staging.appcenter.de

4. Release per Git-Tag

Sobald ein offizielles Release über ein Git-Tag erzeugt wird, ist die Version produktiv unter folgender URL erreichbar:

selbstauskunft.appcenter.de


Übersicht

QuelleUmgebungURLImage-Tag
Feature-BranchDev<branch>.<product>.dev.appcenter.deBranch-Tag
developDev<product>.dev.appcenter.dedev
main / masterprod<kunde?>.<product>.staging.appcenter.demaster
Git-Tagprod<kunde?>.<product>.appcenter.derelease:0.0.1

Hinweise

  • Der optionale Teil <kunde?> wird nur verwendet, wenn das Projekt kundenspezifisch ist.
  • Branch-Namen müssen URL-kompatibel gemacht werden, z. B.:
    • feat/mein-featurefeat-mein-feature
  • Der produktive Release-Stand basiert immer auf einem gesetzten Git-Tag.