Depotproxien til Maven høyrer heime i settings.xml-fila hans. Når eit Jenkins-bygg alt køyrer i ein Maven-container, gje den fila til Maven-prosessen som køyrer der.

Lagre den komplette tiltenkte settings.xml som ein Jenkins Secret file-legitimasjon med namnet maven-proxy-settings. Innanfor stega i det eksisterande containersteget:

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

Bindinga gjev ein mellombels filsti. Groovy-strengen med enkle hermeteikn overlèt variabelekspansjonen til skalet, og dei doble hermeteikna til skalet held på stien som eitt argument. -s-valet til Maven vel den fila som brukarinnstillingar; -B vel batch-modus.

Legitimasjonsfila kan innehalde proxyverten, porten, autentiseringa og nonProxyHosts til bygget i proxies-delen, saman med andre naudsynte brukarinnstillingar. Ei proxy-omgåingsliste i Maven brukar loddrette strekar mellom vertsmønster.

Fila må finnast der Maven køyrer

Med Docker Pipeline treng agenten og containeren eit kompatibelt montert filsystem, slik at den bundne stien er lesbar inne i køyringcontaineren. Ein docker run som vert starta manuelt treng ei eksplisitt filmontering, helst skriveverna, og Maven må ta imot stien på container-sida. Å senda ein vertssti berre som miljøvariabel gjer ikkje fila tilgjengeleg.

Hald kvar endring av arbeidskatalogen inne i legitimasjonsbindingsblokka, slik at den hemmelege fila ikkje hamnar under eit gjennomsøk bart underkatalog-arbeidsområde. Ikkje skriv fila ut i byggeloggen og ikkje kopier henne til eit varig image.

Dette vel brukarinnstillingar. Dei globale innstillingane til Maven kan framleis delta, så gå gjennom båe om eit nedarva spegel eller ei anna konfigurasjon framleis påverkar oppløysinga.

Relaterte artiklar