Izdelava podob Spring Boot: nastavitev proxyja graditelja Paketo
Posredujte proxy spremenljivke graditelju Paketo prek Gradle bootBuildImage ali Maven image.env, ločeno od orodja za gradnjo in demona Docker.
Orodje za gradnjo lahko uspešno razreši svoje odvisnosti, medtem ko buildpack Paketo ne more prenesti izvajalnega okolja. Buildpack deluje znotraj vsebnika graditelja in potrebuje svoj vhod za proxy.
Naloga bootBuildImage v Gradle
V datoteki Groovy build.gradle z obstoječo nalogo bootBuildImage iz Spring Boot:
tasks.named("bootBuildImage") {
environment["HTTP_PROXY"] = "http://proxy.example:8080"
environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}
Vtičnik Maven uporablja image.env
Za spring-boot:build-image te vrednosti postavite pod image.env v obstoječi konfiguraciji vtičnika 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>
Tako okolje naloge Gradle kot image.env v Maven dajeta graditelju vrednosti. Obe imeni lahko označujeta istega običajnega posrednika HTTP, tudi za URL-je artefaktov HTTPS. Za javne prenose artefaktov, dovoljene prek javnih proxyjev, seznam proxyjev HTTP ponuja kandidate za te vrednosti graditelja.
Ta nastavitev je neodvisna od lastnosti systemProp.http.proxyHost v Gradle. Te pripadajo JVM in ne konfigurirajo samodejno drugega procesa v graditelju.
Demon Docker mora najprej pridobiti potrebne podobe graditelja in izvajanja. Napaka registra v tej zgodnejši fazi zahteva pot in konfiguracijo registra demona, ne spremenljivke, predane buildpacku, ki se še ni začel.
Uporabite končno točko proxyja, dosegljivo iz vsebnika graditelja. Njen naslov loopback označuje ta vsebnik, ne nujno delovne postaje razvijalca.
Tudi izvajalno okolje končne aplikacije ohranite namerno. Dostop med gradnjo in pot, uporabljena ob poznejšem delovanju aplikacije, sta ločeni konfiguracijski odločitvi.