如何在 CI 服务器中设置不同的 graalvm-home 和 java-home 来构建原生镜像
How to set up different graalvm-home and java-home in CI server to build native image
问题:
我想在同一个 CI 服务器上有两个 graalvm 版本来构建不同的 quarkus 版本服务项目。
原因:
因为一些旧服务使用 quarkus-1.5.1 和 graalvm-20.0.0,我无法升级该版本。
但我想在新服务中使用 quarkus-1.13.1 & graalvm-21.0.0。
试过:
在 pom.xml 中添加 quarkus.native.graalvm-home
& quarkus.native.java-home
,设置 graalvm 路径,但不起作用。
<properties>
<quarkus.package.type>native</quarkus.package.type>
<quarkus.native.additional-build-args>${qaurkusNativeArgs}</quarkus.native.additional-build-args>
<quarkus.native.graalvm-home>${quarkus.native.java-home}</quarkus.native.graalvm-home>
<quarkus.native.java-home>${quarkus.native.java-home}</quarkus.native.java-home>
</properties>
您需要做的就是在 运行 mvn package -Dnative
时设置 GRAALVM_HOME 环境变量。
所以像 GRAALVM_HOME=/some/path mvn package -Dnative
这样的东西会让 Quarkus 使用来自 /some/path
的 GraalVM。
见https://quarkus.io/guides/all-config#quarkus-core_quarkus.native.graalvm-home
问题: 我想在同一个 CI 服务器上有两个 graalvm 版本来构建不同的 quarkus 版本服务项目。
原因: 因为一些旧服务使用 quarkus-1.5.1 和 graalvm-20.0.0,我无法升级该版本。 但我想在新服务中使用 quarkus-1.13.1 & graalvm-21.0.0。
试过:
在 pom.xml 中添加 quarkus.native.graalvm-home
& quarkus.native.java-home
,设置 graalvm 路径,但不起作用。
<properties>
<quarkus.package.type>native</quarkus.package.type>
<quarkus.native.additional-build-args>${qaurkusNativeArgs}</quarkus.native.additional-build-args>
<quarkus.native.graalvm-home>${quarkus.native.java-home}</quarkus.native.graalvm-home>
<quarkus.native.java-home>${quarkus.native.java-home}</quarkus.native.java-home>
</properties>
您需要做的就是在 运行 mvn package -Dnative
时设置 GRAALVM_HOME 环境变量。
所以像 GRAALVM_HOME=/some/path mvn package -Dnative
这样的东西会让 Quarkus 使用来自 /some/path
的 GraalVM。
见https://quarkus.io/guides/all-config#quarkus-core_quarkus.native.graalvm-home