Spring Boot-imagebygg: konfigurer proxy for Paketo-byggeren
Overfør proxyvariabler til en Paketo-bygger gjennom Gradle bootBuildImage eller Maven image.env, adskilt fra byggeverktøyet og Docker-tjenesten.
Et byggeverktøy kan løse avhengighetene sine uten problemer, mens en Paketo-buildpack ikke klarer å laste ned en kjøretid. Buildpacken kjører inne i byggerens container og trenger egne proxyopplysninger.
Gradle-oppgaven bootBuildImage
I en Groovy build.gradle som bruker Spring Boots eksisterende bootBuildImage-oppgave:
tasks.named("bootBuildImage") {
environment["HTTP_PROXY"] = "http://proxy.example:8080"
environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}
Maven-pluginen bruker image.env
For spring-boot:build-image setter du disse verdiene under image.env i den eksisterende konfigurasjonen av Spring Boot Maven-pluginen:
<configuration>
<image>
<env>
<HTTP_PROXY>http://proxy.example:8080</HTTP_PROXY>
<HTTPS_PROXY>http://proxy.example:8080</HTTPS_PROXY>
</env>
</image>
</configuration>
Både Gradle-oppgavens miljø og Mavens image.env sender verdier til byggeren. Begge navnene kan peke på samme ordinære HTTP-mellomledd, også for HTTPS-URL-er til artefakter. For nedlasting av offentlige artefakter som er tillatt gjennom offentlige proxyer, tilbyr HTTP-proxyoversikten kandidater til disse byggerverdiene.
Innstillingen er uavhengig av Gradles systemProp.http.proxyHost-egenskaper. Disse hører til JVM-en og setter ikke opp en annen prosess i byggeren automatisk.
Docker-tjenesten må først skaffe bygge- og kjøreavbildningene som trengs. En feil i registeret på det tidligere trinnet krever tjenestens rute- og registeroppsett, ikke en variabel som sendes til en buildpack som ikke har startet.
Bruk et proxy-endepunkt som er tilgjengelig fra byggerens container. Loopback-adressen identifiserer den containeren, ikke nødvendigvis utviklerens arbeidsstasjon.
Ha også kjøretidsmiljøet til den ferdige applikasjonen bevisst. Tilgang ved bygging og ruten som brukes når applikasjonen kjøres senere, er to forskjellige konfigurasjonsvalg.