Αποκτήστε το πρώτο κατέβασμα του sbt μέσω του proxy
Ρυθμίστε το JVM που εκτελεί το sbt και διακρίνετε τα κατεβάσματα του launcher, την επιλογή αποθετηρίου και τον έλεγχο ταυτότητας μέσω proxy.
Το sbt μπορεί να χρειάζεται το δίκτυο πριν κάνει κάτι χρήσιμο ο ορισμός του build σας. Ο launcher του πρέπει να αποκτήσει στοιχεία, και το build μπορεί αργότερα να επικοινωνήσει με αποθετήρια μέσω πρόσθετων βιβλιοθηκών. Μια ρύθμιση proxy κρυμμένη μέσα σε μια εργασία μπορεί να φτάσει πολύ αργά για το πρώτο κατέβασμα.
Ξεκινήστε από το JVM που εκτελεί πραγματικά το sbt. Για έναν launcher που διαβάζει το .jvmopts του έργου, οι βασικές ιδιότητες τελικού σημείου μπορεί να είναι:
-Dhttp.proxyHost=proxy.example.net
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=proxy.example.net
-Dhttps.proxyPort=8080
Αυτές οι τιμές διαχωρίζουν ένα όνομα κεντρικού υπολογιστή και μια θύρα· δεν είναι πλήρεις διευθύνσεις URL proxy. Για επιτρεπόμενα κατεβάσματα από δημόσια αποθετήρια, η λίστα proxy HTTP παρέχει υποψήφιες τιμές για αυτά τα πεδία. Ένα αποθετήριο HTTPS εξακολουθεί να είναι προσβάσιμο μέσω proxy HTTP με χρήση CONNECT.
Προσέξτε ποιο κατέβασμα απέτυχε
Η εκκίνηση του launcher, τα στοιχεία του εργαλείου build, τα πρόσθετα και οι εξαρτήσεις δεν χρησιμοποιούν απαραίτητα το ίδιο επίπεδο ρυθμίσεων. Εντοπίστε το URL και το στάδιο που απέτυχαν πριν επεξεργαστείτε τις δηλώσεις αποθετηρίων.
Η επιλογή αποθετηρίου απαντά από πού λαμβάνονται τα artifacts. Η ρύθμιση proxy απαντά πώς ένας πελάτης δικτύου φτάνει σε αυτό το τελικό σημείο. Η αντικατάσταση ενός αποθετηρίου με εσωτερικό καθρέφτη μπορεί να είναι ξεχωριστή υποστηριζόμενη επιλογή, αλλά δεν ρυθμίζει proxy δικτύου για κάθε άλλο προορισμό.
Ο έλεγχος ταυτότητας μέσω proxy είναι ένας ακόμη έλεγχος. Μην υποθέσετε ότι κάθε λήπτης Java αντιμετωπίζει μια αυθαίρετη ιδιότητα proxyUser ως υποστηριζόμενο μηχανισμό σύνδεσης. Χρησιμοποιήστε τη ρύθμιση ελέγχου ταυτότητας που τεκμηριώνεται για τον εγκατεστημένο launcher και τον σχετικό resolver.
Τέλος, ελέγξτε το πραγματικό περιβάλλον του launcher αντί να αντιγράψετε μια μεταβλητή από οδηγό για άλλο runner. Μια αποτυχία DNS, ένα μη διαθέσιμο αποθετήριο και μια απορριφθείσα σύνδεση proxy μπορούν όλα να εμφανιστούν κατά την επίλυση εξαρτήσεων, αλλά απαιτούν πολύ διαφορετικές διορθώσεις.