Jenkins konteynerlari: Maven proksi sozlamalarini maxfiy fayl orqali uzatish
Jenkins maxfiy faylini bog'lang va uning konteynerdagi ko'rinadigan yo'lini mvn -s ga bering — build proksi konfiguratsiyasi uchun.
Maven omborining proksisi uning settings.xml faylida bo'ladi. Jenkins build allaqachon Maven konteynerida ishlayotgan bo'lsa, o'sha faylni u yerda ishlayotgan Maven jarayoniga bering.
To'liq settings.xml faylini maven-proxy-settings nomli Jenkins Secret file hisob ma'lumoti sifatida saqlang. Mavjud konteyner bosqichining qadamlarida:
withCredentials([
file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}
Bog'lash vaqtinchalik fayl yo'lini beradi. Bitta qo'shtirnoqli Groovy satri o'zgaruvchilar kengayishini shell ga qoldiradi, shell ning qo'sh qo'shtirnoqlari esa yo'lni bitta argument sifatida saqlaydi. Maven ning -s parametri o'sha faylni foydalanuvchi sozlamalari sifatida tanlaydi; -B ommaviy rejimni tanlaydi.
Hisob ma'lumoti fayli proxies bo'limida build proksisining hosti, porti, autentifikatsiyasi va nonProxyHosts ni, boshqa zarur foydalanuvchi sozlamalari bilan birga saqlashi mumkin. Maven da proksini chetlab o'tish ro'yxati vertikal chiziqlardan foydalanadi host andozalari orasida.
Fayl Maven ishlaydigan joyda bo'lishi kerak
Docker Pipeline bilan agent va konteyner mos ulangan fayl tizimiga muhtoj, shunda bog'langan yo'l ijro konteyneri ichida o'qiladi. Qo'lda ishga tushirilgan docker run aniq fayl ulanishini talab qiladi, yaxshisi faqat-o'qish, va Maven konteyner tomonidagi yo'lni olishi kerak. Host yo'lini faqat muhit o'zgaruvchisi sifatida uzatish faylni mavjud qilmaydi.
Ish katalogining har qanday o'zgarishini hisob ma'lumotini bog'lash bloki ichida saqlang, maxfiy fayl ko'rib chiqiladigan ichki katalog ish maydoniga tushmasin. Faylni build jurnaliga chiqarmang va doimiy image ga nusxalamang.
Bu foydalanuvchi sozlamalarini tanlaydi. Maven ning global sozlamalari ham ishtirok etishi mumkin, shuning uchun meros oynasi yoki boshqa konfiguratsiya hal etishga ta'sir qilishda davom etsa, ikkalasini ham ko'rib chiqing.