Nástroj sestavení může úspěšně vyřešit své závislosti, zatímco buildpack Paketo nedokáže stáhnout runtime. Buildpack běží uvnitř kontejneru sestavovače a potřebuje vlastní vstup pro proxy.

Úloha bootBuildImage v Gradle

V souboru Groovy build.gradle s existující úlohou bootBuildImage ze Spring Boot:

tasks.named("bootBuildImage") {
    environment["HTTP_PROXY"] = "http://proxy.example:8080"
    environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}

Plugin Maven používá image.env

Pro spring-boot:build-image umístěte tyto hodnoty pod image.env v existující konfiguraci pluginu 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>

Prostředí úlohy Gradle i image.env v Maven předávají sestavovači hodnoty. Oba názvy mohou označovat stejného běžného HTTP prostředníka, i pro URL artefaktů HTTPS. Pro veřejná stahování artefaktů povolená přes veřejné proxy poskytuje seznam HTTP proxy kandidáty pro tyto hodnoty sestavovače.

Toto nastavení je nezávislé na vlastnostech systemProp.http.proxyHost v Gradle. Ty patří JVM a automaticky nenastavují jiný proces v sestavovači.

Démon Dockeru musí nejprve získat potřebné image sestavovače a běhového prostředí. Selhání registru v této dřívější fázi vyžaduje trasu a konfiguraci registru démona, nikoli proměnnou předanou buildpacku, který ještě nezačal.

Použijte proxy koncový bod dosažitelný z kontejneru sestavovače. Jeho loopback adresa identifikuje tento kontejner, ne nutně pracovní stanici vývojáře.

Udržujte záměrně i běhové prostředí výsledné aplikace. Přístup při sestavování a trasa použitá při pozdějším běhu aplikace jsou samostatná konfigurační rozhodnutí.

Související články