Jenkinsi konteinerid: Maveni puhverserveri seadete edastamine salajase failiga
Ühendage Jenkinsi salajane fail ja edastage selle nähtav konteineri tee mvn -s-ile buildi puhverserveri konfiguratsiooni jaoks.
Maveni hoidla puhverserver kuulub selle settings.xml-i. Kui Jenkinsi build juba töötab Maveni konteineris, andke see fail seal töötavale Maveni protsessile.
Salvestage täielik kavandatud settings.xml Jenkinsi Secret file'i mandaadina nimega maven-proxy-settings. Olemasoleva konteineri etapi sammudes:
withCredentials([
file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}
Sidumine annab ajutise failitee. Ühekordsetes jutumärkides Groovy string jätab muutujate laiendamise shellile ning shelli topeltjutumärgid säilitavad tee ühe argumendina. Maveni valik -s valib selle faili kasutajaseadeteks; -B valib pakettrežiimi.
Mandaadifail võib sisaldada buildi puhverserveri hosti, porti, autentimist ja nonProxyHosts-i oma proxies-jaotises koos muude vajalike kasutajaseadetega. Maveni puhverserveri möödasõiduloend kasutab vertikaalseid jooni hostimustrite vahel.
Fail peab olema olemas seal, kus Maven töötab
Docker Pipeline'i korral vajavad agent ja konteiner ühilduvat paigaldatud failisüsteemi, et seotud tee oleks täitmiskonteineri sees loetav. Käsitsi käivitatud docker run vajab selgesõnalist faili paigaldust, eelistatavalt kirjutuskaitstud, ja Maven peab saama konteineripoolse tee. Hostitee edastamine ainult keskkonnamuutujana ei tee faili kättesaadavaks.
Hoidke igasugune töökataloogi muudatus mandaadi sidumise ploki sees, et salajane fail ei satuks sirvitavasse alamkataloogi tööruumi. Ärge trükkige faili buildi logisse ega kopeerige seda püsivasse imagesse.
See valib kasutajaseaded. Maveni globaalsed seaded võivad samuti osaleda, seega vaadake mõlemad üle, kui päritud peegel või muu konfiguratsioon mõjutab endiselt lahendamist.