PCF(Pivotal)部署Springboot2.4/java11/jdk11/jre11应用

由于公司采用VMWare的pivotal云环境部署应用,今天我做了个测试应用准备部署到PCF环境。由于PCF默认jre8,害得我折腾了好久才搞定,网上基本没查到直接的解决方案,于是就想到分享给大家。

构建spring-boot应用

这个很简单,不再浪费时间了。我的应用是spring-boot 2.6, jdk11

部署到PCF

  1. 先Login
cf login -a https://xxxx.yyyy.pivotal.io --sso

PCF会返回一个链接给你,用这个链接去取得一个token,就能认证登录了。

  1. Push应用
    先把应用push上去:
cf p myapp -p target\myapp-0.0.1-SNAPSHOT.jar -b https://github.com/cloudfoundry/java-buildpack.git#v4.48

这一步会把应用部署到去环境,但是由于使用是默认的jre8,启动会出错,日志出错信息会说是java版本太新了,不支持之类的。不要理会出错,接着往下看。

  1. 修改jre版本
cf set-env myapp JBP_CONFIG_OPEN_JDK_JRE "{ jre: { version: 11.+ }}"
cf restage myapp

这一步执行完就会发现应用成功启动了。

终极大法

后来发现用mainifest方法可以简单指定jre11

---
applications:
  - name: my-app
    host: my-app
    path: ./target/my-app-0.0.1-SNAPSHOT.jar
    instances: 1
    memory: 1G
    services:
      - csre-conf-svr
    env:
      SPRING_PROFILES_ACTIVE: sit
      JBP_CONFIG_OPEN_JDK_JRE: "{ jre: { version: 11.+ }}"
    buildpacks:
      - https://github.com/cloudfoundry/java-buildpack.git#v4.48

然后,一步部署:

cf push

搞定!


版权声明:本文为weixin_45357522原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。