Branching e Release Open-Source (Open Source)
In questa pagina
Release regolari
Il team di DefectDojo punta a mantenere il seguente ritmo:
- Release minori: almeno una volta al mese, il primo lunedì del mese.
- Patch/Bugfix: release ogni settimana di lunedì.
- Release di sicurezza: verranno eseguite al di fuori del nostro ritmo regolare, a seconda della gravità.
GitHub Actions è la fonte autorevole. Le release sono semi-automatizzate. I passaggi per una release regolare sono:
- Crea il branch di release da
devobugfixe prepara una PR versomaster(dettagli) –> Un maintainer verifica e unisce manualmente la PR - Tag, creazione della release in bozza e build+push Docker (dettagli) –> Un maintainer rifinisce le note del release-drafter e pubblica la release
- Viene creata una PR per unire
masterdi nuovo indevebugfix, per riallineare i branch (dettagli)
Release di sicurezza
Le PR relative a problemi di sicurezza vengono gestite tramite security advisory, che offrono un modo per lavorare privatamente sul codice senza divulgare prematuramente le vulnerabilità.
Modello di release e hotfix
Diagrammi creati con plantUML. Trovi un editor web per PlantUML su https://www.planttext.com.
participant “Dev Branch” as dev #LightBlue participant “BugFix Branch” as bugfix #LightGreen participant “Release Branch” as release #LightGoldenRodYellow participant “Master Branch” as master #LightSalmon
== Minor Release (Monthly) ==
dev -> release: Create branch “release/2.x.0” release -> master: Merge note right: Official Release\n - Tag 2.x.0\n - Push 2.x.0 to DockerHub master –> bugfix: Merge master into bugfix to realign master –> dev: Merge master back into dev
== Patch/BugFix Release (Weekly) ==
bugfix -> release: Create branch “release/2.x.y” release -> master: Merge note right: Official Release\n - Tag 2.x.y\n - Push 2.x.y to DockerHub master -> bugfix: Merge master back into bugfix to realign master –> dev: Merge master into dev to realign
== Security Release (As Needed) ==
master -> release: Create branch “release/2.x.y” release -> master: Merge note right: Official Release\n - Tag 2.x.y\n - Push 2.x.y to DockerHub master –> bugfix: Merge master into bugfix to realign master –> dev: Merge master into dev to realign
@enduml
</div>