Maven Telepítse a Nexusba
1. Áttekintés
Egy korábbi cikkemben megvitattam, hogy egy Maven projekt hogyan tud helyileg telepíteni egy harmadik fél jar-t, amelyet még nem telepítettek a Maven Central-ra (vagy bármely más nagy és nyilvánosan tárolt adattárra).
Ezt a megoldást csak olyan kis projektekben szabad alkalmazni, amelyekben a teljes Nexus szerver telepítése, futtatása és karbantartása túlteljes lehet. A projekt növekedésével azonban
A Nexus gyorsan az egyetlen valódi és kiforrott lehetőség harmadik fél műtermékeinek tárolására, valamint a belső leletek újrafelhasználására a fejlesztési folyamatokban.
Ez a cikk bemutatja, hogyan telepítheti a projekt leleteit Nexusnak, Mavennel.
2. Nexus követelmények a pom.xml
Annak érdekében, hogy Maven telepíthesse az általa létrehozott tárgyakat a csomag A build fázisának meg kell határoznia a repository információkat, ahol a csomagolt műtermékeket a terjesztésMenedzsment elem: Házigazda, nyilvános Pillanatképek a tár a Nexus dobozából kerül ki, így nincs szükség semmilyen további létrehozásra vagy konfigurálásra. A Nexus megkönnyíti a tárolt tárhelyek URL-jének meghatározását - mindegyik tároló pontosan megjeleníti a projekt pom, a Összegzés fülre. Alapértelmezés szerint Maven a telepítési mechanizmust a maven-deploy-plugin - ez leképezve a bevetés az alapértelmezett Maven életciklus fázisa: A maven-deploy-plugin életképes lehetőség a projekt Nexus műtárgyaiba történő telepítésének kezelésére, de nem úgy készült, hogy teljes mértékben kihasználja a Nexus kínálatát. Emiatt a Sonatype létrehozott egy Nexus-specifikus bővítményt - a nexus-staging-maven-plugin - amelyet valójában a Nexus által kínált fejlettebb funkciók teljes körű kihasználására terveztek - például a színpadra állítást. Bár egy egyszerű telepítési folyamathoz nincs szükségünk átmeneti funkcionalitásra, tovább fogunk menni ezzel az egyedi Nexus bővítménnyel, mivel annak egyértelmű célja az volt, hogy jól beszéljen a Nexusszal. Az egyetlen ok a maven-deploy-plugin az, hogy továbbra is nyitva tartsuk a Nexus alternatívájának használatát - például egy Artifactory adattárat. Ugyanakkor más komponensektől eltérően, amelyek valóban megváltozhatnak a projekt teljes életciklusa alatt, a Maven Repository Manager valószínűleg nem fog megváltozni, ezért nincs szükség rugalmasságra. Tehát a telepítési fázisban egy másik telepítési bővítmény használatának első lépése a meglévő alapértelmezett leképezés letiltása: Most meghatározhatjuk: A bevetni A plugin célja a bevetni szakasza a Maven felépítésének. Vegye figyelembe azt is, hogy amint arról már volt szó, nincs szükségünk átmeneti funkcionalitásra a -PILLANATKÉP artefaktumok a Nexushoz, így a elem. Alapértelmezés szerint az üzembe helyezési cél tartalmazza az átmeneti munkafolyamatot, amely a kiadás buildjeihez ajánlott. A Nexusba történő bevezetés a biztosított működés - és a bevetés A felhasználó létezik erre a célra a dobozon kívül bármely Nexus példányon. Maven konfigurálása ennek hitelesítő adataival bevetés hogy a Nexusszal helyesen tudjon interakcióba lépni, nem lehet a pom.xml a projektről. Ennek oka, hogy a pom nem engedi, nem beszélve arról a tényről, hogy a pom lehet nyilvános műtárgy, ezért nem alkalmas a hitelesítő adatok tárolására. A szerver hitelesítő adatait a globális Maven-ben kell meghatározni beállítás.xml: A kiszolgáló úgy is konfigurálható, hogy kulcsalapú biztonságot használjon a nyers és a sima szövegű hitelesítő adatok helyett. A telepítési folyamat végrehajtása egyszerű feladat: A tesztek átugrása rendben van egy központi telepítési feladat esetén, mert ennek a feladatnak kell lennie az utolsó feladatnak a telepítési csővezeték a projekt számára. Az ilyen telepítési folyamat általános példája a Jenkins-feladatok sorozata, amelyek mindegyike csak akkor váltja ki a következőt, ha sikeresen befejeződik. Mint ilyen, a folyamatban lévő előző feladatok feladata, hogy a projekt összes tesztcsomagját futtassák - mire a telepítési feladat lefut, az összes tesztnek már át kell esnie. Ha egyetlen parancsot futtatott, akkor a tesztek aktívak maradhatnak a bevetés szakasz végrehajtja: Ez egy egyszerű, ugyanakkor rendkívül hatékony megoldás a Maven-műtárgyak Nexus-ra történő telepítésére. Némileg véleményes is - nexus-staging-maven-plugin az alapértelmezett helyett maven-deploy-plugin; a staging funkció le van tiltva stb. - ezek a választások teszik egyszerűvé és praktikussá a megoldást. A teljes átmeneti funkcionalitás potenciális aktiválása egy későbbi cikk témája lehet. Végül a következő cikkben tárgyaljuk a kiadási folyamatot. nexus-snapshots // localhost: 8081 / nexus / content / repositories / pillanatképek
3. Bővítmények
maven-deploy-plugin 2.8.1 alapértelmezett telepítés üzembe helyezés
org.apache.maven.plugins maven-deploy-plugin $ {maven-deploy-plugin.version} true
org.sonatype.plugins nexus-staging-maven-plugin 1.5.1 alapértelmezett telepítés üzembe helyezése nexus // localhost: 8081 / nexus / true
4. A globális settings.xml
nexus-snapshots a_elosztási_felhasználó_alkalmazás telepítése
5. A telepítési folyamat
mvn tiszta telepítés -Dmaven.test.skip = true
mvn tiszta telepítés
6. Következtetés