Maven को रिपोजिटरी प्रोक्सी यसको settings.xml मा हुन्छ। जब Jenkins बिल्ड पहिले नै 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 ले ब्याच मोड छान्छ।

प्रमाणपत्र फाइलमा बिल्डको प्रोक्सी होस्ट, पोर्ट, प्रमाणीकरण र nonProxyHosts यसको proxies खण्डमा हुन सक्छ, साथै अन्य आवश्यक प्रयोगकर्ता सेटिङहरू। Maven मा प्रोक्सी बाइपास सूचीले ठाडो पट्टी होस्ट ढाँचाहरूबीच प्रयोग गर्छ।

फाइल Maven चल्ने ठाउँमै हुनुपर्छ

Docker Pipeline सँग, एजेन्ट र कन्टेनरलाई मिल्दो माउन्ट गरिएको फाइलसिस्टम चाहिन्छ, ताकि बाइन्ड गरिएको बाटो कार्यान्वयन कन्टेनरभित्र पढ्न सकियोस्। हातले सुरु गरिएको docker run लाई स्पष्ट फाइल माउन्ट चाहिन्छ, सम्भव भएसम्म पढ्न-मात्र, र Maven ले कन्टेनर-पक्षको बाटो पाउनुपर्छ। होस्ट बाटो मात्र वातावरण चरका रूपमा पठाउँदा फाइल उपलब्ध हुँदैन।

कार्य डाइरेक्टरीको कुनै पनि परिवर्तन प्रमाणपत्र-बाइन्डिङ ब्लकभित्र राख्नुहोस्, ताकि गोप्य फाइल ब्राउज गर्न सकिने उप-डाइरेक्टरी कार्यक्षेत्रमा नपरोस्। फाइल बिल्ड लगमा नछाप्नुहोस् र स्थायी इमेजमा नक्कल नगर्नुहोस्।

यसले प्रयोगकर्ता सेटिङ छान्छ। Maven का ग्लोबल सेटिङ पनि सहभागी हुन सक्छन्, त्यसैले वंशाणुगत मिरर वा अन्य कन्फिगरेसनले अझै रिजोल्युसनमा असर गरिरहेको छ भने दुवै जाँच्नुहोस्।

सम्बन्धित लेखहरू