Proxy Maven repozitorija pripada u njegov settings.xml. Kada se Jenkins build već izvršava unutar Maven kontejnera, dostavite tu datoteku Maven procesu koji tamo radi.

Sačuvajte potpuni predviđeni settings.xml kao Jenkins Secret file akreditive imena maven-proxy-settings. Unutar koraka postojeće faze kontejnera:

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

Povezivanje daje privremenu putanju datoteke. Groovy niz u jednostrukim navodnicima prepušta proširenje varijabli shellu, a dvostruki navodnici shella čuvaju putanju kao jedan argument. Maven opcija -s odabire tu datoteku kao korisničke postavke; -B odabire batch način.

Datoteka akreditive može sadržavati proxy host, port, autentifikaciju i nonProxyHosts builda u svojoj proxies sekciji, zajedno s ostalim potrebnim korisničkim postavkama. Lista zaobilaženja proxyja u Mavenu koristi okomite crte između uzoraka hosta.

Datoteka mora postojati tamo gdje Maven radi

S Docker Pipelineom agent i kontejner trebaju kompatibilan montirani datotečni sustav kako bi povezana putanja bila čitljiva unutar izvršnog kontejnera. Ručno pokrenut docker run zahtijeva izričito montiranje datoteke, po mogućnosti samo za čitanje, a Maven mora primiti putanju s kontejnerske strane. Prijenos host putanje samo kao varijable okoline ne čini datoteku dostupnom.

Zadržite svaku promjenu radnog direktorija unutar bloka povezivanja akreditiva kako tajna datoteka ne bi dospjela u pregledni poddirektorij radnog prostora. Ne ispisujte datoteku u log builda i ne kopirajte je u trajnu sliku.

Ovo odabire korisničke postavke. Mavenove globalne postavke također mogu sudjelovati, pa pregledajte oboje ako naslijeđeno zrcalo ili druga konfiguracija i dalje utječe na razrješavanje.

Povezani članci