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-ийн глобал тохиргоо ч оролцож болох тул өвлөгдсөн толь эсвэл өөр тохиргоо шийдвэрт нөлөөлсөн хэвээр байвал хоёуланг нь хянана.