Jenkins-containers: Maven-proxyynstellings trochjaan mei in geheim bestân
Keppelje in Jenkins-geheim bestân en jou it sichtbere containerpaad troch oan mvn -s foar de proxykonfiguraasje fan de build.
De repositoryproxy fan Maven heart yn syn settings.xml. As in Jenkins-build al yn in Maven-container rint, jou dat bestân dan oan it Maven-proses dat dêr rint.
Bewarje de folsleine bedoelde settings.xml as in Jenkins Secret file-credential mei de namme maven-proxy-settings. Binnen de stappen fan 'e besteande container-stage:
withCredentials([
file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}
De keppeling leveret in tydlik bestânspaad. De Groovy-string mei ienhekken lit fariabele-útwreiding oan 'e shell oer, en de dûbele hekken fan 'e shell hâlde it paad as ien argumint. De -s-opsje fan Maven kiest dat bestân as syn brûkersynstellings; -B kiest batchmodus.
It credentialbestân kin de proxyhost, poarte, autentikaasje en nonProxyHosts fan 'e build yn syn proxies-seksje befetsje, tegearre mei oare nedige brûkersynstellings. In proxy-omgongslist yn Maven brûkt fertikale strepen tusken hostpatroanen.
It bestân moat bestean dêr't Maven rint
Mei Docker Pipeline hawwe de agent en de container in kompatibel mounte bestânssysteem nedich, sadat it keppele paad yn 'e útfierende container lêsber is. In hânmjittich starte docker run hat in eksplisite bestânsmount nedich, leafst allinnich-lêze, en Maven moat it paad oan 'e containerside krije. In hostpaad allinnich as omjouwingsfariabele trochjaan makket it bestân net beskikber.
Hâld elke feroaring fan wurkmap binnen it credential-keppelblok, sadat it geheim bestân net yn in trochsykbere submap-wurkromte telâne komt. Printsje it bestân net yn it buildlog en kopiearje it net nei in permanint image.
Dit kiest brûkersynstellings. De globale ynstellings fan Maven kinne ek meidwaan, dus kontrolearje beide as in erfd spegel of oare konfiguraasje de resolúsje noch beynfloedet.