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 ની ગ્લોબલ સેટિંગ્સ પણ ભાગ લઈ શકે છે, તેથી જો વારસાગત મિરર કે અન્ય ગોઠવણી હજી રિઝોલ્યુશનને અસર કરતી હોય તો બંનેની સમીક્ષા કરો.

સંબંધિત લેખો