'n Bougereedskap kan sy afhanklikhede suksesvol oplos terwyl 'n Paketo-boublokkie nie 'n looptyd kan aflaai nie. Die boublokkie loop binne die bouhouer en het sy eie proxy-invoer nodig.

Gradle se bootBuildImage-taak

In 'n Groovy build.gradle met Spring Boot se bestaande bootBuildImage-taak:

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

Die Maven-inprop gebruik image.env

Vir spring-boot:build-image, plaas hierdie waardes onder image.env in die bestaande Spring Boot Maven-inpropkonfigurasie:

<configuration>
  <image>
    <env>
      <HTTP_PROXY>http://proxy.example:8080</HTTP_PROXY>
      <HTTPS_PROXY>http://proxy.example:8080</HTTPS_PROXY>
    </env>
  </image>
</configuration>

Gradle se taakomgewing en Maven se image.env gee albei waardes aan die bouer. Albei name kan dieselfde gewone HTTP-tussenparty aandui, ook vir HTTPS-artefak-URL's. Vir openbare artefak-aflaaie wat deur openbare proxy's toegelaat word, verskaf die HTTP-proxylys kandidate vir hierdie bouerwaardes.

Hierdie instelling is onafhanklik van Gradle se systemProp.http.proxyHost-eienskappe. Dié behoort aan die JVM en stel nie outomaties 'n ander proses in die bouer op nie.

Die Docker-agtergronddiens moet eers die vereiste bouer- en loopbeelde verkry. 'n Registerfout in daardie vroeëre stadium vereis die agtergronddiens se roete- en registerkonfigurasie, eerder as 'n veranderlike wat aan 'n boublokkie gegee word wat nog nie begin het nie.

Gebruik 'n proxy-eindpunt wat van die bouhouer bereikbaar is. Die loopback-adres daarvan identifiseer daardie houer, nie noodwendig die ontwikkelaar se werkstasie nie.

Hou ook die finale toepassing se looptyd-omgewing doelbewus. Toegang tydens bou en die roete wat gebruik word wanneer die toepassing later loop, is afsonderlike konfigurasiebesluite.

Verwante artikels