Jenkins-konténerek: Maven proxybeállítások átadása titkos fájllal
Kapcsoljon be egy Jenkins titkos fájlt, és adja át a konténerben látható útvonalát az mvn -s számára a build proxybeállításaihoz.
A Maven tárolóproxyja a settings.xml fájljába tartozik. Amikor egy Jenkins-build már Maven-konténerben fut, adja át ezt a fájlt az ott futó Maven-folyamatnak.
Mentse a teljes tervezett settings.xml-t maven-proxy-settings nevű Jenkins Secret file hitelesítő adatként. A meglévő konténer-szakasz lépésein belül:
withCredentials([
file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}
A kötés ideiglenes fájlútvonalat ad. Az egyszeres idézőjeles Groovy-karakterlánc a shellre hagyja a változók feloldását, a shell kettős idézőjelei pedig egyetlen argumentumként őrzik meg az útvonalat. A Maven -s kapcsolója ezt a fájlt választja felhasználói beállításként; a -B kötegelt módot választ.
A hitelesítőfájl tartalmazhatja a build proxy hosztját, portját, hitelesítését és nonProxyHosts bejegyzéseit a proxies szakaszban, valamint bármely más szükséges felhasználói beállítást. A Maven proxy-megkerülési listája függőleges vonalakat használ a hosztminták között.
A fájlnak ott kell lennie, ahol a Maven fut
Docker Pipeline esetén az agentnek és a konténernek kompatibilis csatolt fájlrendszerre van szüksége, hogy a csatolt útvonal olvasható legyen a végrehajtó konténerben. A kézzel indított docker run kifejezett fájlcsatolást igényel, lehetőleg csak olvashatóan, és a Mavennek a konténer oldali útvonalat kell megkapnia. Egy hosztútvonal puszta környezeti változóként való átadása nem teszi elérhetővé a fájlt.
Tartsa a munkakönyvtár minden változtatását a hitelesítő adatok kötési blokkján belül, hogy a titkos fájl ne kerüljön böngészhető alkönyvtár-munkaterületre. Ne írja ki a fájlt a build naplójába, és ne másolja állandó image-be.
Ez a felhasználói beállításokat választja. A Maven globális beállításai is részt vehetnek, ezért tekintse át mindkettőt, ha egy örökölt tükör vagy más konfiguráció továbbra is befolyásolja a feloldást.