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 బ్యాచ్ మోడ్ను ఎంచుకుంటుంది.
ఆధార ఫైల్లో build యొక్క ప్రాక్సీ హోస్ట్, పోర్ట్, ప్రామాణీకరణ మరియు nonProxyHosts దాని proxies విభాగంలో, అవసరమైన ఇతర వినియోగదారు సెట్టింగ్లతో ఉండవచ్చు. Maven లో ప్రాక్సీ బైపాస్ జాబితా నిలువు గీతలు హోస్ట్ నమూనాల మధ్య ఉపయోగిస్తుంది.
ఫైల్ Maven నడిచే చోటే ఉండాలి
Docker Pipeline తో, ఏజెంట్ మరియు కంటైనర్కు సరిపోయే మౌంట్ చేసిన ఫైల్ సిస్టమ్ అవసరం, తద్వారా బైండ్ చేసిన మార్గం అమలు కంటైనర్ లోపల చదవగలిగేదిగా ఉంటుంది. చేతితో ప్రారంభించిన docker run కు స్పష్టమైన ఫైల్ మౌంట్ అవసరం, వీలైతే చదవడానికి-మాత్రమే, మరియు Maven కు కంటైనర్-వైపు మార్గం అందాలి. హోస్ట్ మార్గాన్ని కేవలం పర్యావరణ చరంగా పంపడం ఫైల్ను అందుబాటులోకి తీసుకురాదు.
పని డైరెక్టరీలో ఏ మార్పునైనా ఆధార-బైండింగ్ బ్లాక్ లోపల ఉంచండి, రహస్య ఫైల్ బ్రౌజ్ చేయగల ఉప-డైరెక్టరీ పని ప్రదేశంలో పడకుండా. ఫైల్ను build లాగ్లో ముద్రించవద్దు మరియు శాశ్వత ఇమేజ్కు కాపీ చేయవద్దు.
ఇది వినియోగదారు సెట్టింగ్లను ఎంచుకుంటుంది. Maven యొక్క గ్లోబల్ సెట్టింగ్లు కూడా పాల్గొనవచ్చు, కాబట్టి వారసత్వ అద్దం లేదా ఇతర కాన్ఫిగరేషన్ ఇంకా పరిష్కారాన్ని ప్రభావితం చేస్తుంటే రెండింటినీ సమీక్షించండి.