CloudFoundry ve JDK

Sep 17 2020

Çalışma zamanında java kodunu derlemesi gereken bir yay uygulamasının konuşlandırılmasıyla uğraşıyorum. Bir kullanıcı bir soruna çözüm sunduğunda uygulamam javac komutunu çağırır, böylece daha sonra java çalıştırabilir

Bulut dökümhanesine dağıtıyorum ve java-buildpack kullanıyorum, ancak maalesef JDK ile birlikte gelmiyor, sadece JRE mevcut ve bu şeyin javac veya java komutları yok.

Kendi özel yapım paketimi yazmak zorunda kalmadan JDK'yı bulut dökümhanesine eklemenin bir yolunu biliyor musunuz?

Teşekkürler

Yanıtlar

1 DanielMikusa Sep 18 2020 at 01:17

Multi-buildpack desteğini kullanmanızı ve bir JDK kurmak için apt-buildpack'i kullanmanızı öneririm. JBP ile birlikte iyi çalışmalıdır. Listede ilk sırada yer alması gerekiyor.

https://github.com/cloudfoundry/apt-buildpack

Misal:

  1. Bir apt.yml oluşturun.

     ---
     packages:
     - openjdk-11-jdk-headless
    
  2. Bunu JAR'ınıza koyun jar uf path/to/your/file.jar apt.yml. JAR'ın köküne eklenmelidir, bu nedenle, jar tf path/to/your/file.jarsadece apt.ymlve önünde hiçbir şey görmeniz gerekiyorsa.

  3. Manifest.yml dosyanızı güncelleyin. Listede ilk olarak apt-buildpack'i ekleyin.

     ---
     applications:
     - name: spring-music
       memory: 1G
       path: build/libs/spring-music-1.0.jar
       buildpacks:
       - https://github.com/cloudfoundry/apt-buildpack#v0.2.2
       - java_buildpack
    
  4. Sonra cf push. Apt-buildpack'in çalıştığını görmeli ve JDK'yı kurmalısınız. Daha sonra altına yüklenecek ~/deps/0/lib/jvm/java-11-openjdk-amd64. YOL üzerinde de sona ermiyor gibi görünmektedir, bu nedenle tam yolu kullanın javacveya yolu güncelleyin.