Proxy Maven repozitorija pripada njegovu settings.xml. Kad se Jenkins build već izvodi unutar Maven kontejnera, dostavite tu datoteku Maven procesu koji ondje radi.

Pohranite potpuni predviđeni settings.xml kao Jenkins Secret file vjerodajnicu naziva 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 ljusci, a dvostruki navodnici ljuske čuvaju putanju kao jedan argument. Mavenova opcija -s odabire tu datoteku kao korisničke postavke; -B odabire batch način.

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

Datoteka mora postojati tamo gdje Maven radi

Uz Docker Pipeline 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 vjerodajnica 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