Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Maven Release Plugin — automatizace release procesu

05. 03. 2013 1 min čtení CORE SYSTEMSdevelopment

Rucni release proces: zmenit verzi v pom.xml, commitnout, buildnout, uploadnout do Nexusu, zmenit verzi na dalsi SNAPSHOT, commitnout. Pet kroku, kde kazdy muze selhat. Maven Release Plugin to automatizuje na jeden prikaz.

Jak to funguje

mvn release:prepare — zmeni verzi z 2.1-SNAPSHOT na 2.1.0, commitne, vytvori tag, zmeni verzi na 2.2-SNAPSHOT, commitne. mvn release:perform — checkout tagu, build a deploy do Nexusu. Automaticky, opakovatelne, bez lidske chyby.

Nexus Staging

Release artefakty jdou do Nexus staging repository. Po overeni (QA test) se propagovji do releases repository. Pokud QA selze, staging se zahodI — produkci to neovlivni.

Problemy v praxi

SCM pristup — release plugin potrebuje write pristup do Gitu (SSH klice na Jenkins serveru). SNAPSHOT zavislosti — release plugin odmiitne releasnout projekt se SNAPSHOT zavislostmi. Multi-module projekty — release vsech modulu najednou, nebo jednotlive? Nase volba: najednou.

Verzovaci konvence

Semantic versioning: MAJOR.MINOR.PATCH. Major pro breaking changes, minor pro nove features, patch pro bugfixy. SNAPSHOT pro development verze.

Zaverem

Maven Release Plugin usetri cas a eliminuje chyby. Investice do spravne konfigurace (SCM, Nexus staging) se vrati pri kazdem releasu.

mavenreleasecijava