Maven kiadás a Nexushoz

1. Áttekintés

A sorozat előző cikkében felállítottuk a telepítési folyamat Maven-től a Nexus-ig. Ebben a cikkben konfiguráljuk a Kiadási folyamat Maven-nel - mind a pom Jenkins munkakörben.

2. Adattár a pom

Ahhoz, hogy a Maven képes legyen kiadni egy Nexus Repository Server kiszolgálóra, szükségünk van rá definiálja az adattárat információ a terjesztésMenedzsment elem:

  nexus-releases // localhost: 8081 / nexus / content / repositories / releases 

A hostolt Releases Repository a Nexus dobozából kerül ki, ezért nem szükséges kifejezetten létrehozni.

3. SCM a Mavenben pom

A kiadási folyamat kölcsönhatásba lép a projekt Forrásvezérlésével - ez azt jelenti, hogy először meg kell határoznunk a elem a mi pom.xml:

 scm: git: //github.com/user/project.git //github.com/user/project scm: git: //github.com/user/project.git 

Vagy a git protokoll használatával:

 scm: git: [e-mail védett]: felhasználó / project.git scm: git: [e-mail védett]: felhasználó / project.git scm: git: [e-mail védett]: felhasználó / project.git 

4. A Release plugin

A kiadási folyamat által használt standard Maven plugin a maven-release-plugin - a plugin konfigurációja minimális:

 org.apache.maven.plugins maven-release-plugin 2.4.2 [e-mail védett] {project.version} igaz kiadások 

Ami itt fontos, hogy a releaseProfiles A konfiguráció valóban kényszeríteni fog egy Maven profilt - a kiadások profil - aktívvá válni a kiadási folyamat során.

Ebben a folyamatban a nexus-staging-maven-plugin a telepítés végrehajtására szolgál nexus-kiadások Nexus adattár:

  relges org.sonatype.plugins nexus-staging-maven-plugin 1.5.1 alapértelmezett telepítés telepítés nexus-releases // localhost: 8081 / nexus / true 

A bővítmény a kiadási folyamat végrehajtására van konfigurálva a rendező mechanizmus nélkül, a korábbiakhoz hasonlóan, a telepítési folyamathoz (skipStaging = true).

És a telepítési folyamathoz hasonlóan, A Nexus kiadása biztonságos művelet - tehát az Out of the Box-ot fogjuk használni bevetés újra a Nexus felhasználói űrlapot.

Be kell állítanunk a. Hitelesítő adatait is nexus-kiadások szerver a globális szinten settings.xml (% USER_HOME% /. M2 / settings.xml):

  nexus-releases telepítés the_pass_for_the_deployment_user 

Ez a teljes konfiguráció

5. A kiadási folyamat

Bontjuk szét a kiadási folyamatot apró és koncentrált lépésekre. Kiadást hajtunk végre, amikor a projekt jelenlegi verziója SNAPSHOT verzió - mondjuk 0,1-SNAPSHOT.

5.1. Kiadás: Tiszta

Kiadás tisztítása akarat:

  • törölje a kiadás leíróját (kiadás.tulajdonságok)
  • töröljön minden biztonsági mentésű POM fájlt

5.2. kiadás: előkészítés

A kiadási folyamat következő része a A kiadás előkészítése; ez:

  • végezzen némi ellenőrzést - nem szabad végrehajtani nem kötelező változtatásokat, és a projektnek függnie kell SNAPSHOT-függőségektől
  • változtassa meg a projekt verzióját a pom fájlban egy teljes kiadási számra (távolítsa el az SNAPSHOT utótagot) - példánkban - 0.1
  • futtassa a projektet teszt lakosztályok
  • kövesse el és nyomja meg a változásokat
  • hozza létre a címke ebből a nem SNAPSHOT verziójú kódból
  • növelje a verziót a projekt a pomban - példánkban - 0,2-SNAPSHOT
  • kövesse el és nyomja meg a változásokat

5.3. kiadás: előadás

A kiadási folyamat második része az A kiadás végrehajtása; ez:

  • pénztár kiadási címke az SCM-től
  • kiadott kód létrehozása és telepítése

A folyamat ezen második lépése az Előkészítés lépés kimenetére támaszkodik - a kiadás.tulajdonságok.

6. Jenkinsről

A Jenkins a kiadási folyamatot kétféleképpen hajthatja végre - használhatja saját kiadási pluginjait, vagy egyszerűen futtathatja a kiadást egy szabványos maven munkával, amely a megfelelő kiadási lépéseket futtatja.

A kiadás folyamatára összpontosító meglévő Jenkins bővítmények a következők:

  • Engedje el a beépülő modult
  • M2 Release Plugin

Mivel azonban a kiadás végrehajtására szolgáló Maven parancs elég egyszerű, egyszerűen meghatározhatunk egy szabványos Jenkins-feladatot a művelet végrehajtásához - nincs szükség bővítményekre.

Tehát egy új Jenkins-munkához (maven2 / 3 projekt készítése) meghatározunk 2 karakterlánc-paramétert: releaseVersion = 0,1 és developmentVersion = 0,2-SNAPSHOT.

A Épít konfigurációs szakaszban egyszerűen konfigurálhatjuk a futtatáshoz a következő Maven parancsot:

Kiadás: Tiszta kiadás: kiadás előkészítése: teljesítés -DreleaseVersion = $ {releaseVersion} -DdevelopmentVersion = $ {developmentVersion}

Paraméterezett munka futtatásakor a Jenkins arra kéri a felhasználót, hogy adja meg ezeknek a paramétereknek az értékeit - így minden alkalommal, amikor a munkát futtatjuk, ki kell töltenünk a megfelelő értékeket releaseVersion és developmentVersion.

Érdemes használni a Workspace Cleanup beépülő modult, és ellenőrizni a A munkaterület törlése az összeállítás megkezdése előtt opció ehhez az összeállításhoz. Ne feledje azonban, hogy a végre A kiadás lépését szükségszerűen ugyanazzal a paranccsal kell futtatni, mint a készítlépés - ez azért van, mert az utóbbi végre lépésben a kiadás.tulajdonságok fájl készítette készít. Ez azt jelenti, hogy nem futhat egy Jenkins Job készítés még egy futás végre.

7. Következtetés

Ez a cikk bemutatta, hogyan lehet megvalósítani a Maven projekt kiadása Jenkinsszel vagy anélkül. A telepítéshez hasonlóan ez a folyamat a nexus-staging-maven-plugin kölcsönhatásba lépni a Nexusszal, és egy git projektre összpontosít.