Jenkins-kontainers: Maven-proxyinstellings deur 'n gehekelêer deurgee
Koppel 'n Jenkins-gehekelêer en gee sy sigbare houerpad aan mvn -s vir die bou se proksikonfigurasie.
Maven se pakhuisproksie hoort in sy settings.xml. Wanneer 'n Jenkins-bou reeds in 'n Maven-houer loop, gee daardie lêer aan die Maven-proses wat daar uitvoer.
Stoor die volledige beoogde settings.xml as 'n Jenkins Secret file-referensie met die naam maven-proxy-settings. Binne die bestaande houerstadium se stappe:
withCredentials([
file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}
Die koppeling gee 'n tydelike lêerpad. Die Groovy-string met enkele aanhalingstekens laat veranderlike-uitbreiding aan die dop oor, en die dop se dubbele aanhalingstekens hou die pad as een argument. Maven se -s-opsie kies daardie lêer as sy gebruikersinstellings; -B kies bondelmodus.
Die referensielêer kan die bou se proksi-gasheer, poort, verifikasie en nonProxyHosts in sy proxies-afdeling bevat, saam met enige ander vereiste gebruikersinstellings. 'n Proksi-omseilingslys in Maven gebruik vertikale balke tussen gasheervorme.
Die lêer moet bestaan waar Maven loop
Met Docker Pipeline het die agent en die houer 'n versoenbare gemonteerde lêerstelsel nodig sodat die gekoppelde pad binne die uitvoerhouer leesbaar is. 'n Handmatig gelanseerde docker run het 'n eksplisiete lêermonteer nodig, verkieslik net-lees, en Maven moet die houerkant-pad ontvang. Om 'n gasheerpad bloot as omgewingsveranderlike deur te gee, maak nie die lêer beskikbaar nie.
Hou enige verandering van werkkaartjie binne die referensiekoppel-blok sodat die gehekelêer nie onder 'n deurblybare subgids-werkruimte beland nie. Moenie die lêer in die boulog druk of in 'n blywende beeld kopieer nie.
Dit kies gebruikersinstellings. Maven se globale instellings kan steeds deelneem, so hersien albei as 'n geërfde spieël of ander konfigurasie steeds resolusie beïnvloed.