【问题标题】:Cloud Foundry : How use Java Buildpack specific versionCloud Foundry:如何使用 Java Buildpack 特定版本
【发布时间】:2023-03-18 21:17:01
【问题描述】:

我正在尝试将 Spring Boot 应用程序部署到 Cloud Foundry。我在 manifest.yml 中给出了构建包,如下所示

---
applications:
- name: gl-bo-sample
  path: ./target/gl-1.0-SNAPSHOT.jar
  buildpacks:
      - https://github.com/cloudfoundry/java-buildpack.git

现在我正在尝试将它与特定版本一起使用,我尝试将 URL 更改为

https://github.com/cloudfoundry/java-buildpack.git#4.26

但低于错误

Staging app and tracing logs...
   Cell 42004a5d-c593-4393-a123-f76cb8abe8b5 creating container for instance 43c3e913-e5a2-4251-b138-1309e117dc23
   Cell 42004a5d-c593-4393-a123-f76cb8abe8b5 successfully created container for instance 43c3e913-e5a2-4251-b138-1309e117dc23
   Downloading app package...
   Downloaded app package (26.2M)
   Failed to clone git repository at https://github.com/cloudfoundry/java-buildpack.git
   Exit status 1
   Cell 42004a5d-c593-4393-a123-f76cb8abe8b5 stopping instance 43c3e913-e5a2-4251-b138-1309e117dc23
   Cell 42004a5d-c593-4393-a123-f76cb8abe8b5 destroying container for instance 43c3e913-e5a2-4251-b138-1309e117dc23
   Cell 42004a5d-c593-4393-a123-f76cb8abe8b5 successfully destroyed container for instance 43c3e913-e5a2-4251-b138-1309e117dc23
Error staging application: Staging error: staging failed
FAILED

尝试添加#v4.26
得到一个不同的错误 -

Downloaded app package (26.2M)
   -----> Java Buildpack v4.26 | https://github.com/cloudfoundry/java-buildpack.git#e25d6bf
   [Buildpack]                      ERROR Finalize failed with exception #<RuntimeError: Open Jdk JRE error: No version resolvable for '1.8.0_232' in 1.7.0_06, 1.7.0_07, 1.7.0_08, 1.7.0_09, 1.7.0_10, 1.7.0_11, 1.7.0_12, 1.7.0_13, 1.7.0_14, 1.7.0_15, 1.7.0_17, 1.7.0_21, 1.7.0_25, 1.7.0_40, 1.7.0_45, 1.7.0_51, 1.7.0_55, 1.7.0_60, 1.7.0_65, 1.7.0_71, 1.7.0_75, 1.7.0_79, 1.8.0_00, 1.8.0_05, 1.8.0_11, 1.8.0_20, 1.8.0_25, 1.8.0_31, 1.8.0_40, 1.8.0_45, 1.8.0_51, 1.8.0_60, 1.8.0_65, 1.8.0_71, 1.8.0_73, 1.8.0_77, 1.8.0_91, 1.8.0_91-unlimited-crypto, 1.8.0_101, 1.8.0_111, 1.8.0_121, 1.8.0_131, 1.8.0_141, 1.8.0_144, 1.8.0_152, 1.8.0_161, 1.8.0_162, 1.8.0_172, 1.8.0_181, 1.8.0_191, 1.8.0_192, 1.8.0_201, 1.8.0_202, 1.8.0_212, 1.8.0_222, 1.8.0_RC1, 9.0.0_181, 9.0.1_11, 9.0.4_11, 10.0.0_46, 10.0.1_10, 10.0.2_13, 11.0.0_28, 11.0.1_13, 11.0.2_07, 11.0.2_09, 11.0.3_07, 11.0.4_11, 12.0.0_33, 12.0.1_12, 12.0.2_10>
   Open Jdk JRE error: No version resolvable for '1.8.0_232' in 1.7.0_06, 1.7.0_07, 1.7.0_08, 1.7.0_09, 1.7.0_10, 1.7.0_11, 1.7.0_12, 1.7.0_13, 1.7.0_14, 1.7.0_15, 1.7.0_17, 1.7.0_21, 1.7.0_25, 1.7.0_40, 1.7.0_45, 1.7.0_51, 1.7.0_55, 1.7.0_60, 1.7.0_65, 1.7.0_71, 1.7.0_75, 1.7.0_79, 1.8.0_00, 1.8.0_05, 1.8.0_11, 1.8.0_20, 1.8.0_25, 1.8.0_31, 1.8.0_40, 1.8.0_45, 1.8.0_51, 1.8.0_60, 1.8.0_65, 1.8.0_71, 1.8.0_73, 1.8.0_77, 1.8.0_91, 1.8.0_91-unlimited-crypto, 1.8.0_101, 1.8.0_111, 1.8.0_121, 1.8.0_131, 1.8.0_141, 1.8.0_144, 1.8.0_152, 1.8.0_161, 1.8.0_162, 1.8.0_172, 1.8.0_181, 1.8.0_191, 1.8.0_192, 1.8.0_201, 1.8.0_202, 1.8.0_212, 1.8.0_222, 1.8.0_RC1, 9.0.0_181, 9.0.1_11, 9.0.4_11, 10.0.0_46, 10.0.1_10, 10.0.2_13, 11.0.0_28, 11.0.1_13, 11.0.2_07, 11.0.2_09, 11.0.3_07, 11.0.4_11, 12.0.0_33, 12.0.1_12, 12.0.2_10
   Failed to compile droplet: Failed to run finalize script: exit status 1
   Exit status 223
   Cell 87d0c251-800c-46b8-b342-84120765ba39 stopping instance c9c63305-110d-4688-ae86-7df857a1debd
   Cell 87d0c251-800c-46b8-b342-84120765ba39 destroying container for instance c9c63305-110d-4688-ae86-7df857a1debd
   Cell 87d0c251-800c-46b8-b342-84120765ba39 successfully destroyed container for instance c9c63305-110d-4688-ae86-7df857a1debd
Error staging application: App staging failed in the buildpack compile phase
FAILED
  1. 我做错了什么

【问题讨论】:

    标签: java spring-boot cloud-foundry


    【解决方案1】:

    buildpack git URL 中的锚点应以v 为前缀,如

    https://github.com/cloudfoundry/java-buildpack#v4.26
    

    https://stackoverflow.com/a/26127753/1299533

    【讨论】:

    • 谢谢,我试过但得到不同的错误,在问题中编辑
    • 这是正确答案。你现在遇到的问题是不同的。这是因为您请求的 Java 版本不受您选择的 buildpack 版本的支持。如果您设置 JBP_CONFIG_OPEN_JDK_JRE 并请求特定的 Java 版本,则可能会发生这种情况。如果您之前运行的 JBP 版本具有 Java 版本而新的 JBP 版本没有,也会发生这种情况。我见过缓存保留以前版本的情况。如果是这种情况,您需要 cf delete 您的应用并再次推送以清除缓存。
    • 我尝试删除应用并再次推送。问题仍有待解决。得到同样的错误。知道可能是什么原因,或者您需要更多详细信息
    【解决方案2】:

    当您在离线和在线构建包之间交替时会发生这种情况。

    请试试这个:

    • 清理您的 blobstore 缓存 cf curl -X DELETE /v2/blobstores/buildpack_cache

    • 使用离线 buildpack:

      cf create-buildpack my-custom-java-bp https://github.com/cloudfoundry/java-buildpack#v4.26 100 --enable

    然后在你的清单中引用这个 buildpack。

    附:您可以同时尝试这两种操作,也可以只尝试第一种。

    【讨论】:

    • 此命令cf curl -X DELETE /v2/blobstores/buildpack_cache 是否会影响空间中的其他应用程序/构建,因为那里正在运行其他应用程序
    • 我现在正在使用自定义构建包。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多