Build aləti asılılıqlarını uğurla həll edə bilər, lakin Paketo buildpack runtime yükləyə bilmir. Buildpack builder konteynerinin içində işləyir və öz proxy girişinə ehtiyac duyur.

Gradle-ın bootBuildImage tapşırığı

Spring Boot-un mövcud bootBuildImage tapşırığından istifadə edən Groovy build.gradle faylında:

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

Maven plugini image.env istifadə edir

spring-boot:build-image üçün bu dəyərləri mövcud Spring Boot Maven plugini konfiqurasiyasında image.env altına yerləşdirin:

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

Gradle tapşırığının mühiti və Maven image.env hər ikisi builder-ə dəyərlər verir. Hər iki ad eyni adi HTTP vasitəçisini göstərə bilər, HTTPS artefakt URL-ləri üçün də. Açıq proxy-lərdən icazə verilən açıq artefakt yükləmələri üçün HTTP proxy siyahısı bu builder dəyərləri üçün namizədlər təqdim edir.

Bu parametr Gradle-ın systemProp.http.proxyHost xassələrindən asılı deyil. Onlar JVM-ə aiddir və builder daxilindəki başqa prosesi avtomatik konfiqurasiya etmir.

Docker demonu əvvəlcə tələb olunan builder və run image-lərini əldə etməlidir. Həmin erkən mərhələdə registry xətası demonun marşrut və registry konfiqurasiyasını tələb edir, hələ başlamamış buildpack-ə verilən dəyişəni yox.

Builder konteynerindən əlçatan proxy son nöqtəsindən istifadə edin. Onun loopback ünvanı həmin konteyneri müəyyən edir, mütləq developerin iş stansiyasını yox.

Yekun tətbiqin runtime mühitini də qəsdən saxlayın. Build zamanı giriş və tətbiq sonradan işləyəndə istifadə olunan marşrut ayrı konfiqurasiya qərarlarıdır.

Əlaqəli məqalələr