Ndërtimi i imazheve Spring Boot: konfiguroni proxy-n e ndërtuesit Paketo
Kalonì variablat e proxy-t te një ndërtues Paketo përmes Gradle bootBuildImage ose Maven image.env, veçmas nga mjeti i ndërtimit dhe demoni Docker.
Një mjet ndërtimi mund t'i zgjidhë me sukses varësitë e tij, ndërsa një buildpack Paketo nuk mund të shkarkojë një runtime. Buildpack-u ekzekutohet brenda kontejnerit të ndërtuesit dhe ka nevojë për hyrjen e vet të proxy-t.
Detyra bootBuildImage e Gradle
Në një build.gradle Groovy me detyrën ekzistuese bootBuildImage të Spring Boot:
tasks.named("bootBuildImage") {
environment["HTTP_PROXY"] = "http://proxy.example:8080"
environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}
Shtojca Maven përdor image.env
Për spring-boot:build-image, vendosni këto vlera nën image.env në konfigurimin ekzistues të shtojcës 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>
Si mjedisi i detyrës së Gradle ashtu edhe image.env i Maven i japin vlera ndërtuesit. Të dy emrat mund të identifikojnë të njëjtin ndërmjetës të zakonshëm HTTP, edhe për URL-të e artefakteve HTTPS. Për shkarkimet publike të artefakteve të lejuara përmes proxy-ve publike, lista e proxy-ve HTTP ofron kandidatë për këto vlera të ndërtuesit.
Ky konfigurim është i pavarur nga vetitë systemProp.http.proxyHost të Gradle. Ato i përkasin JVM-së dhe nuk konfigurojnë automatikisht një proces tjetër brenda ndërtuesit.
Demoni Docker duhet së pari të marrë imazhet e ndërtuesit dhe të ekzekutimit që nevojiten. Një dështim i regjistrit në atë fazë të mëparshme kërkon rrugën dhe konfigurimin e regjistrit të demonit, jo një variabël që i jepet një buildpack-u që nuk ka nisur ende.
Përdorni një pikë fundore proxy të arritshme nga kontejneri i ndërtuesit. Adresa e saj loopback identifikon atë kontejner, jo domosdoshmërisht stacionin e punës të zhvilluesit.
Mbani të qëllimshëm edhe mjedisin e ekzekutimit të aplikacionit përfundimtar. Aksesi gjatë ndërtimit dhe rruga e përdorur kur aplikacioni ekzekutohet më vonë janë dy vendime të veçanta konfigurimi.