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 ಡೀಮನ್ ಮೊದಲು ಅಗತ್ಯವಿರುವ ಬಿಲ್ಡರ್ ಮತ್ತು ರನ್ ಇಮೇಜ್ಗಳನ್ನು ಪಡೆಯಬೇಕು. ಆ ಹಿಂದಿನ ಹಂತದಲ್ಲಿ ರಿಜಿಸ್ಟ್ರಿ ವಿಫಲವಾದರೆ ಡೀಮನ್ನ ಮಾರ್ಗ ಮತ್ತು ರಿಜಿಸ್ಟ್ರಿ ಸಂರಚನೆ ಬೇಕು, ಇನ್ನೂ ಪ್ರಾರಂಭವಾಗದ ಬಿಲ್ಡ್ಪ್ಯಾಕ್ಗೆ ನೀಡಿದ ವೇರಿಯೇಬಲ್ ಅಲ್ಲ.
ಬಿಲ್ಡರ್ ಕಂಟೇನರ್ನಿಂದ ತಲುಪಬಹುದಾದ ಪ್ರಾಕ್ಸಿ ಎಂಡ್ಪಾಯಿಂಟ್ ಬಳಸಿ. ಅದರ ಲೂಪ್ಬ್ಯಾಕ್ ವಿಳಾಸವು ಆ ಕಂಟೇನರ್ ಅನ್ನು ಗುರುತಿಸುತ್ತದೆ, ಅಗತ್ಯವಾಗಿ ಡೆವಲಪರ್ನ ವರ್ಕ್ಸ್ಟೇಷನ್ ಅಲ್ಲ.
ಅಂತಿಮ ಅಪ್ಲಿಕೇಶನ್ನ ರನ್ಟೈಮ್ ಪರಿಸರವನ್ನೂ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಇರಿಸಿ. ಬಿಲ್ಡ್ ಸಮಯದ ಪ್ರವೇಶ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ನಂತರ ಚಲಿಸುವಾಗ ಬಳಸುವ ಮಾರ್ಗ ಎರಡು ಪ್ರತ್ಯೇಕ ಸಂರಚನಾ ನಿರ್ಧಾರಗಳು.