ينتمي وكيل مستودع Maven إلى ملف settings.xml الخاص به. عندما يعمل بناء Jenkins أصلاً داخل حاوية Maven، قدّم ذلك الملف إلى عملية Maven التي تنفَّذ هناك.

خزّن ملف settings.xml الكامل المقصود كبيانات اعتماد من نوع Secret file باسم maven-proxy-settings. ضمن خطوات مرحلة الحاوية القائمة:

withCredentials([
    file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
    sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}

يوفّر الربط مسار ملف مؤقت. تترك سلسلة Groovy أحادية الاقتباس توسيع المتغيّرات للـ shell، ويحفظ الاقتباس المزدوج في الـ shell المسار كوسيط واحد. يختار خيار -s في Maven ذلك الملف كإعدادات المستخدم؛ ويختار -B وضع الدفعة.

يمكن أن يحتوي ملف الاعتماد على مضيف الوكيل ومنفذه ومصادقته وnonProxyHosts في قسم proxies، إلى جانب أي إعدادات مستخدم أخرى لازمة. قائمة تجاوز الوكيل في Maven تستخدم أشرطة عمودية بين أنماط المضيف.

يجب أن يوجد الملف حيث يعمل Maven

مع Docker Pipeline، يحتاج الوكيل والحاوية إلى نظام ملفات مُثبَّت متوافق كي يكون المسار المربوط قابلاً للقراءة داخل حاوية التنفيذ. يحتاج docker run الذي يُشغَّل يدوياً إلى تركيب ملف صريح، ويُفضَّل أن يكون للقراءة فقط، ويجب أن يتلقى Maven المسار من جهة الحاوية. تمرير مسار المضيف كمتغيّر بيئة وحده لا يجعل الملف متاحاً.

أبقِ أي تغيير في دليل العمل داخل كتلة ربط الاعتماد كي لا يوضع الملف السرّي تحت مساحة عمل بمسار فرعي قابل للتصفح. لا تطبع الملف في سجل البناء ولا تنسخه إلى صورة دائمة.

هذا يختار إعدادات المستخدم. يمكن أن تشارك إعدادات Maven العامة أيضاً، فراجع كليهما إذا استمر مرآة موروثة أو إعداد آخر في التأثير على الحل.

مقالات ذات صلة