Mavenin repositorion välityspalvelin kuuluu sen settings.xml-tiedostoon. Kun Jenkins-buildi jo pyörii Maven-kontissa, anna tuo tiedosto siellä toimivalle Maven-prosessille.

Tallenna täydellinen aiottu settings.xml Jenkins Secret file -tunnukseksi nimellä maven-proxy-settings. Nykyisen konttivaiheen askelien sisällä:

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

Liitos antaa väliaikaisen tiedostopolun. Yksinkertaisiin lainausmerkkeihin kirjoitettu Groovy-merkkijono jättää muuttujien laajennuksen shellille, ja shellin kaksoislainausmerkit säilyttävät polun yhtenä argumenttina. Mavenin -s-valitsin valitsee tuon tiedoston käyttäjäasetuksiksi; -B valitsee eräajotilan.

Tunnustiedosto voi sisältää buildin välityspalvelimen isäntänimen, portin, todennuksen ja nonProxyHosts-arvot proxies-osiossaan sekä muut tarvittavat käyttäjäasetukset. Välityspalvelimen ohituslista Mavenissa käyttää pystyviivoja isäntäkukuvioiden välissä.

Tiedoston on oltava siellä, missä Maven toimii

Docker Pipelinessa agentti ja kontti tarvitsevat yhteensopivan liitetyn tiedostojärjestelmän, jotta liitetty polku on luettavissa suorituskontin sisällä. Käsin käynnistetty docker run tarvitsee nimenomaisen tiedostoliitoksen, mieluiten vain luku -tilassa, ja Mavenin on saatava kontin puoleinen polku. Isäntäpolun välittäminen pelkkänä ympäristömuuttujana ei tee tiedostoa saataville.

Pidä kaikki työhakemiston muutokset tunnuksen liitoslohkon sisällä, jotta salaista tiedostoa ei sijoiteta selattavaan alihakemistoon työtilassa. Älä tulosta tiedostoa buildin lokiin äläkä kopioi sitä pysyvään imageen.

Tämä valitsee käyttäjäasetukset. Myös Mavenin globaalit asetukset voivat osallistua, joten tarkista molemmat, jos peritty peili tai muu kokoonpano vaikuttaa edelleen ratkaisuun.

Aiheeseen liittyvät artikkelit