Ο διαμεσολαβητής αποθετηρίου του Maven ανήκει στο settings.xml του. Όταν μια κατασκευή Jenkins εκτελείται ήδη μέσα σε κοντέινερ Maven, δώστε αυτό το αρχείο στη διεργασία Maven που εκτελείται εκεί.

Αποθηκεύστε το πλήρες προβλεπόμενο settings.xml ως διαπιστευτήριο Jenkins 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 μπορούν ακόμη να συμμετέχουν, οπότε εξετάστε και τις δύο αν ένα κληρονομημένο είδωλο ή άλλη διαμόρφωση εξακολουθεί να επηρεάζει την επίλυση.

Σχετικά άρθρα