De Repository-Proxy vu Maven gehéiert an seng settings.xml. Wann e Jenkins-Build schonn an engem Maven-Container leeft, gitt déi Datei dem Maven-Prozess, deen do leeft.

Späichert déi komplett virgesinn settings.xml als Jenkins Secret file-Identitéit mam Numm maven-proxy-settings. Bannent de Schrëtt vun der bestehender Container-Stage:

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

D'Bindung liwwert en temporäre Dateiwee. De Groovy-String mat einfachen Anführungszeechen iwwerléisst d'Variabelenausdehnung dem Shell, an déi duebel Anführungszeechen vum Shell halen de Wee als een Argument. D'Maven-Optioun -s wielt déi Datei als Benotzerastellungen; -B wielt de Batch-Modus.

D'Identitéitsdatei kann de Proxy-Host, de Port, d'Authentifikatioun an d'nonProxyHosts vum Build an hirem proxies-Beräich enthalen, zesumme mat aneren néidegen Benotzerastellungen. Eng Proxy-Ëmgehungslescht a Maven benotzt vertikal Sträicher tëscht Hostmusteren.

D'Datei muss do existéieren, wou Maven leeft

Mat Docker Pipeline brauchen den Agent an de Container e kompatibelt montéiert Dateisystem, sou datt de gebonnene Wee am Ausféierungscontainer liesbar ass. En docker run, dee manuell gestart gëtt, brauch eng explizit Dateimontage, am beschten nëmme liesbar, an Maven muss de Wee op der Containersäit kréien. E Hostwee just als Ëmfeldvariabel iwwerginn mécht d'Datei net disponibel.

Halt all Ännerung vum Aarbechtsverzeechnis bannent dem Identitéitsbindungsblock, sou datt d'geheim Datei net an en duerchsichbaren Ënnerverzeechnis-Aarbechtsraum geréit. Dréck d'Datei net an de Build-Log a kopéier se net an en dauerhaften Image.

Dëst wielt Benotzerastellungen. D'Maven-Globalastellungen kënnen nach matmaachen, dofir préift béid, wann en ierflechen Spigel oder eng aner Konfiguratioun d'Léisung nach beaflosst.

Ähnlech Artikelen