Imatges de Spring Boot: configura el proxy del builder de Paketo
Passa variables de proxy a un builder de Paketo mitjançant Gradle bootBuildImage o Maven image.env, per separat de l'eina de compilació i del dimoni de Docker.
Una eina de compilació pot resoldre les seves dependències correctament mentre un buildpack de Paketo no pot descarregar un runtime. El buildpack s'executa dins del contenidor del builder i necessita la seva pròpia entrada de proxy.
La tasca bootBuildImage de Gradle
En un build.gradle de Groovy amb la tasca bootBuildImage existent de Spring Boot:
tasks.named("bootBuildImage") {
environment["HTTP_PROXY"] = "http://proxy.example:8080"
environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}
El connector de Maven fa servir image.env
Per a spring-boot:build-image, col·loca aquests valors sota image.env a la configuració existent del connector 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>
L'entorn de la tasca de Gradle i image.env de Maven tots dos forneixen valors al builder. Tots dos noms poden identificar el mateix intermediari HTTP ordinari, també per a URL d'artefactes HTTPS. Per a descàrregues públiques d'artefactes permeses a través de proxys públics, la llista de proxys HTTP ofereix candidats per a aquests valors del builder.
Aquest paràmetre és independent de les propietats systemProp.http.proxyHost de Gradle. Pertanyen a la JVM i no configuren automàticament cap altre procés dins del builder.
El dimoni de Docker primer ha d'obtenir les imatges de builder i d'execució necessàries. Un error de registre en aquesta etapa anterior necessita la ruta i la configuració de registre del dimoni, no una variable lliurada a un buildpack que encara no ha començat.
Utilitza un punt final de proxy abastable des del contenidor del builder. La seva adreça de loopback identifica aquest contenidor, no necessàriament l'estació de treball del desenvolupador.
Mantén també deliberat l'entorn d'execució de l'aplicació final. L'accés durant la compilació i la ruta que es fa servir quan l'aplicació s'executa després són decisions de configuració separades.