Ruční release proces: změnit verzi v pom.xml, commitnout, buildnout, uploadnout do Nexusu, změnit verzi na další SNAPSHOT, commitnout. Pet kroku, kde kazdy muze selhat. Maven Release Plugin to automatizuje na jeden příkaz.
Jak to funguje¶
mvn release:prepare — zmeni verzi z 2.1-SNAPSHOT na 2.1.0, commitne, vytvoří tag, zmeni verzi na 2.2-SNAPSHOT, commitne. mvn release:perform — checkout tagu, build a deploy do Nexusu. Automaticky, opakovatelné, bez lidské chyby.
Nexus Staging¶
Release artefakty jdou do Nexus staging repository. Po overeni (QA test) se propagovji do releases repository. Pokud QA selže, staging se zahodÍ — produkci to neovlivní.
Problemy v praxi¶
SCM pristup — release plugin potřebuje write pristup do Gitu (SSH klíče na Jenkins serveru). SNAPSHOT zavislosti — release plugin odmiitne releasnout projekt se SNAPSHOT závislostmi. Multi-module projekty — release všech modulu najednou, nebo jednotlive? Naše volba: najednou.
Verzovaci konvence¶
Semantic versioning: MAJOR.MINOR.PATCH. Major pro breaking changes, minor pro nove features, patch pro bugfixy. SNAPSHOT pro development verze.
Závěrem¶
Maven Release Plugin ušetří čas a eliminuje chyby. Investice do spravne konfigurace (SCM, Nexus staging) se vrátí pri kazdem releasu.
Potřebujete pomoc s implementací?
Naši experti vám pomohou s návrhem, implementací i provozem. Od architektury po produkci.
Kontaktujte nás