Κατασκευή εικόνων Spring Boot: ρύθμιση του διαμεσολαβητή του Paketo builder
Περνάτε μεταβλητές διαμεσολαβητή σε έναν Paketo builder μέσω Gradle bootBuildImage ή Maven image.env, χωριστά από το εργαλείο κατασκευής και τον δαίμονα Docker.
Ένα εργαλείο κατασκευής μπορεί να επιλύσει επιτυχώς τις εξαρτήσεις του, ενώ ένα buildpack του Paketo δεν μπορεί να κατεβάσει περιβάλλον εκτέλεσης. Το buildpack εκτελείται μέσα στο container του builder και χρειάζεται τη δική του είσοδο διαμεσολαβητή.
Η εργασία bootBuildImage του Gradle
Σε ένα Groovy build.gradle με την υπάρχουσα εργασία bootBuildImage του Spring Boot:
tasks.named("bootBuildImage") {
environment["HTTP_PROXY"] = "http://proxy.example:8080"
environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}
Το πρόσθετο Maven χρησιμοποιεί image.env
Για το spring-boot:build-image, τοποθετήστε αυτές τις τιμές κάτω από το image.env στην υπάρχουσα διαμόρφωση του πρόσθετου Spring Boot Maven:
<configuration>
<image>
<env>
<HTTP_PROXY>http://proxy.example:8080</HTTP_PROXY>
<HTTPS_PROXY>http://proxy.example:8080</HTTPS_PROXY>
</env>
</image>
</configuration>
Τόσο το περιβάλλον εργασίας του Gradle όσο και το image.env του Maven παρέχουν τιμές στον builder. Και τα δύο ονόματα μπορούν να προσδιορίζουν τον ίδιο συνηθισμένο HTTP διαμεσολαβητή, και για διευθύνσεις URL τεχνημάτων HTTPS. Για δημόσιες λήψεις τεχνημάτων που επιτρέπονται μέσω δημόσιων διαμεσολαβητών, η λίστα διαμεσολαβητών HTTP παρέχει υποψηφίους για αυτές τις τιμές του builder.
Αυτή η ρύθμιση είναι ανεξάρτητη από τις ιδιότητες systemProp.http.proxyHost του Gradle. Εκείνες ανήκουν στο JVM και δεν διαμορφώνουν αυτόματα άλλη διεργασία μέσα στον builder.
Ο δαίμονας Docker πρέπει πρώτα να αποκτήσει τις απαιτούμενες εικόνες builder και εκτέλεσης. Μια αποτυχία μητρώου σε εκείνο το προγενέστερο στάδιο απαιτεί τη διαδρομή και τη διαμόρφωση μητρώου του δαίμονα, όχι μια μεταβλητή που δίνεται σε ένα buildpack που δεν έχει ξεκινήσει.
Χρησιμοποιήστε ένα τελικό σημείο διαμεσολαβητή προσβάσιμο από το container του builder. Η διεύθυνση loopback του προσδιορίζει αυτό το container, όχι απαραίτητα τον σταθμό εργασίας του προγραμματιστή.
Κρατήστε συνειδητά και το περιβάλλον εκτέλεσης της τελικής εφαρμογής. Η πρόσβαση κατά την κατασκευή και η διαδρομή που χρησιμοποιείται όταν η εφαρμογή εκτελείται αργότερα είναι ξεχωριστές αποφάσεις διαμόρφωσης.