Spring Boot इमेज बिल्ड: Paketo बिल्डरचा प्रॉक्सी कॉन्फिगर करा
Gradle bootBuildImage किंवा Maven image.env द्वारे Paketo बिल्डरला प्रॉक्सी व्हेरिएबल्स द्या, बिल्ड टूल आणि Docker डेमनपासून वेगळे.
बिल्ड टूल त्याची अवलंबित्वे यशस्वीरीत्या सोडवू शकते, पण Paketo बिल्डपॅक रनटाइम डाउनलोड करू शकत नाही. बिल्डपॅक बिल्डर कंटेनरच्या आत चालतो आणि त्याला स्वतःचे प्रॉक्सी इनपुट लागते.
Gradle चे bootBuildImage टास्क
Spring Boot च्या विद्यमान bootBuildImage टास्कसह Groovy build.gradle मध्ये:
tasks.named("bootBuildImage") {
environment["HTTP_PROXY"] = "http://proxy.example:8080"
environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}
Maven प्लगइन image.env वापरते
spring-boot:build-image साठी, ही मूल्ये विद्यमान Spring Boot Maven प्लगइन कॉन्फिगरेशनमधील image.env खाली ठेवा:
<configuration>
<image>
<env>
<HTTP_PROXY>http://proxy.example:8080</HTTP_PROXY>
<HTTPS_PROXY>http://proxy.example:8080</HTTPS_PROXY>
</env>
</image>
</configuration>
Gradle चे टास्क एन्व्हायर्नमेंट आणि Maven चे image.env दोन्ही बिल्डरला मूल्ये देतात. दोन्ही नावे एकाच सामान्य HTTP मध्यस्थाला सूचित करू शकतात, HTTPS आर्टिफॅक्ट URL साठीही. सार्वजनिक प्रॉक्सीद्वारे अनुमत सार्वजनिक आर्टिफॅक्ट डाउनलोडसाठी HTTP प्रॉक्सी सूची या बिल्डर मूल्यांसाठी उमेदवार देते.
हे सेटिंग Gradle च्या systemProp.http.proxyHost गुणधर्मांपासून स्वतंत्र आहे. ते JVM चे आहेत आणि बिल्डरमधील दुसऱ्या प्रक्रियेला आपोआप कॉन्फिगर करत नाहीत.
Docker डेमनने प्रथम आवश्यक बिल्डर आणि रन इमेज मिळवल्या पाहिजेत. त्या आधीच्या टप्प्यात रजिस्ट्री अपयश आल्यास डेमनचा मार्ग आणि रजिस्ट्री कॉन्फिगरेशन लागते, अजून सुरू न झालेल्या बिल्डपॅकला दिलेले व्हेरिएबल नाही.
बिल्डर कंटेनरमधून पोहोचता येणारा प्रॉक्सी एंडपॉइंट वापरा. त्याचा लूपबॅक पत्ता तेच कंटेनर ओळखतो, अजिबात विकसकाचे वर्कस्टेशन नाही.
अंतिम अॅप्लिकेशनचे रनटाइम एन्व्हायर्नमेंटही जाणीवपूर्वक ठेवा. बिल्डच्या वेळीचा प्रवेश आणि अॅप्लिकेशन नंतर चालताना वापरला जाणारा मार्ग हे दोन वेगळे कॉन्फिगरेशन निर्णय आहेत.