Proxy Maven repozitorijuma pripada njegovom 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 akreditiv sa imenom 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 promenljivih ljusci, a dvostruki navodnici ljuske čuvaju putanju kao jedan argument. Maven opcija -s bira tu datoteku kao korisnička podešavanja; -B bira batch režim.

Datoteka akreditiva može sadržati proxy host, port, autentifikaciju i nonProxyHosts builda u svojoj proxies sekciji, zajedno sa ostalim potrebnim korisničkim podešavanjima. Lista zaobilaženja proxyja u Mavenu koristi vertikalne crte između obrazaca hosta.

Datoteka mora postojati tamo gde Maven radi

Uz Docker Pipeline agent i kontejner treba kompatibilan montiran datotečni sistem kako bi povezana putanja bila čitljiva unutar izvršnog kontejnera. Ručno pokrenut docker run zahteva izričito montiranje datoteke, po mogućstvu samo za čitanje, a Maven mora primiti putanju sa kontejnerske strane. Prenos host putanje samo kao promenljive okruženja ne čini datoteku dostupnom.

Zadržite svaku promenu radnog direktorijuma unutar bloka povezivanja akreditiva kako tajna datoteka ne bi dospela u pregledni poddirektorijum radnog prostora. Ne ispisujte datoteku u log builda i ne kopirajte je u trajnu sliku.

Ovo bira korisnička podešavanja. Maven globalna podešavanja takođe mogu učestvovati, pa pregledajte oba ako nasleđeno ogledalo ili druga konfiguracija i dalje utiče na razrešavanje.

Povezani članci