Proxy-i i depove Maven i përket settings.xml të tij. Kur një ndërtim Jenkins ekzekutohet tashmë brenda një kontejneri Maven, jepni atë skedar procesit Maven që punon atje.

Ruani settings.xml të plotë të synuar si kredencial Jenkins Secret file të quajtur maven-proxy-settings. Brenda hapave të fazës ekzistuese të kontejnerit:

withCredentials([
    file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
    sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}

Lidhja siguron një shteg të përkohshëm skedari. Vargu Groovy me thonjëza të vetme ia lë zgjerimin e variablave shell-it, dhe thonjëzat e dyfishta të shell-it e ruajnë shtegun si një argument të vetëm. Opsioni -s i Maven e zgjedh atë skedar si cilësime përdoruesi; -B zgjedh modalitetin batch.

Skedari i kredencialit mund të përmbajë hostin, portin, vërtetimin dhe nonProxyHosts e proxy-t të ndërtimit në seksionin proxies, së bashku me çdo cilësim tjetër të nevojshëm përdoruesi. Një listë anashkalimi e proxy-t në Maven përdor vija vertikale midis modeleve të hostit.

Skedari duhet të ekzistojë aty ku ekzekutohet Maven

Me Docker Pipeline, agjenti dhe kontejneri kanë nevojë për një sistem skedarësh të montuar në mënyrë të përputhshme që shtegu i lidhur të lexohet brenda kontejnerit ekzekutues. Një docker run i nisur manualisht kërkon një montim të qartë skedari, mundësisht vetëm-lexim, dhe Maven duhet të marrë shtegun nga ana e kontejnerit. Kalimi i një shtegu hosti vetëm si variabël mjedisi nuk e bën skedarin të disponueshëm.

Mbani çdo ndryshim të drejtorisë së punës brenda bllokut të lidhjes së kredencialit, që skedari i fshehtë të mos vendoset nën një hapësirë pune nëndrejtorie të shfletueshme. Mos e printoni skedarin në regjistrin e ndërtimit dhe mos e kopjoni në një imazh të përhershëm.

Kjo zgjedh cilësimet e përdoruesit. Edhe cilësimet globale të Maven mund të marrin pjesë, prandaj rishikoni të dyja nëse një pasqyrë e trashëguar ose një konfigurim tjetër vazhdon të ndikojë në zgjidhjen.

Artikuj të ngjashëm