Open-Source-Branching und Releases (Open Source)

Reguläre Releases

Alle Releases entstehen aus dem Branch dev. Das DefectDojo-Team strebt folgenden Rhythmus an:

  • Minor-Releases: mindestens einmal pro Monat, am ersten Montag des Monats.
  • Patch-Releases: jede Woche am Montag.
  • Security-Releases: können je nach Schweregrad außerhalb unseres regulären Rhythmus erfolgen. Auch sie entstehen aus dev.

Es gibt keinen separaten Branch für Fehlerbehebungen und keinen Hotfix-Branch von master. Jeder Pull Request, ob Fehlerbehebung oder Feature, richtet sich gegen dev.

GitHub Actions sind die maßgebliche Quelle. Die Releases sind teilautomatisiert. Die Schritte für jedes Release sind:

  1. Den Release-Branch aus dev erstellen und einen PR gegen master vorbereiten (Details) –> Ein Maintainer prüft den PR und merged ihn manuell
  2. Tag setzen, Draft-Release anlegen und Docker-Image bauen und pushen (Details) –> Ein Maintainer überarbeitet die Notizen des Release-Drafters und veröffentlicht das Release
  3. Es wird ein PR erstellt, der master zurück in dev merged, um die Branches wieder abzugleichen (Details)

Security-Releases

PRs zu Sicherheitsproblemen werden über Security Advisories abgewickelt. Diese bieten die Möglichkeit, nicht öffentlich am Code zu arbeiten, ohne Schwachstellen vorzeitig offenzulegen.

Release-Modell

Die Diagramme wurden mit plantUML erstellt. Einen webbasierten Editor für PlantUML finden Sie unter https://www.planttext.com.