Jenkins контейнерлері: Maven прокси параметрлерін құпия файл арқылы беру
Jenkins құпия файлын байланыстырып, оның контейнердегі көрінетін жолын mvn -s-ке беріңіз — build прокси конфигурациясы үшін.
Maven қоймасының проксиі оның settings.xml файлында болуы керек. Jenkins build-і әлдеқашан Maven контейнерінде орындалып жатса, сол файлды сонда жұмыс істеп жатқан Maven процесіне беріңіз.
Толық settings.xml файлын maven-proxy-settings атауымен Jenkins Secret file тіркелгі деректері ретінде сақтаңыз. Қолданыстағы контейнер кезеңінің қадамдарының ішінде:
withCredentials([
file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}
Байланыстыру уақытша файл жолын береді. Бір тырнақшадағы Groovy жолы айнымалылардың кеңеюін shell-ге қалдырады, ал shell-дің қос тырнақшалары жолды бір аргумент ретінде сақтайды. Maven-нің -s опциясы сол файлды пайдаланушы параметрлері ретінде таңдайды; -B топтама режимін таңдайды.
Тіркелгі файлы proxies бөлімінде build проксиінің хостын, портын, аутентификациясын және nonProxyHosts-ты, сондай-ақ қажетті басқа пайдаланушы параметрлерін қамтуы мүмкін. Maven-де проксиді айналып өту тізімі тік сызықтарды хост үлгілерінің арасында қолданады.
Файл Maven жұмыс істейтін жерде болуы керек
Docker Pipeline кезінде агент пен контейнерге үйлесімді орнатылған файлдық жүйе қажет, сонда байланысқан жол орындау контейнерінің ішінде оқылады. Қолмен іске қосылған docker run айқын файл орнатуын талап етеді, жақсырақ тек оқуға, және Maven контейнер жағындағы жолды алуы керек. Хост жолын тек орта айнымалысы ретінде беру файлды қолжетімді етпейді.
Жұмыс каталогының кез келген өзгерісін тіркелгіні байланыстыру блогының ішінде ұстаңыз, сонда құпия файл қаралатын қосалқы каталог жұмыс кеңістігіне түспейді. Файлды build журналына шығармаңыз және оны тұрақты image-ге көшірмеңіз.
Бұл пайдаланушы параметрлерін таңдайды. Maven-нің жаһандық параметрлері де қатыса алады, сондықтан мұраланған айна немесе басқа конфигурация шешімге әсер ете берсе, екеуін де қарап шығыңыз.