写点什么

如何将 SAP Business Application Studio 里开发的 Java 应用部署到 SAP BTP 上

作者:Jerry Wang
  • 2022-10-17
    四川
  • 本文字数:856 字

    阅读完需:约 1 分钟

如何将 SAP Business Application Studio 里开发的 Java 应用部署到 SAP BTP 上

首先在项目根目录新建一个文件 manifest.yml,内容如下:


---applications:- name: bookstore  path: srv/target/bookstore-exec.jar  random-route: true  services:  - bookstore-hana
复制代码


文件描述了应用程序的名称和可以找到应用程序存档的路径。 Spring Boot 应用程序可以从单个 JAR 存档中部署,如上面 path 字段值所示:srv/target/bookstore-exec.jar.


应用程序的路由(即可用的 HTTP 端点)随机生成(random-route: true),以防止与其他应用程序路由发生冲突。


之前的 SAP HANA 服务实例的名称 bookstore-hana 在此处的服务部分 (bookstore-hana) 下使用。



Cloud Foundry 使用 Open Service Broker API 为应用程序提供服务。 在 Cloud Foundry 上运行应用程序时,可以使用环境变量 VCAP_SERVICES(类似于 default-env.json 的内容),其中包含所有必需的服务凭证。 CAP Java 可以自动读取此环境变量并将您的应用程序配置为使用 SAP HANA 数据库。


所描述的功能再次作为 CAP Java 中的另一个插件提供。 因此,您需要向项目中添加额外的 Maven 依赖项。 该依赖项将带来从 Cloud Foundry 的 VCAP_SERVICES 环境变量读取服务绑定的能力。



为了使用 CloudFoundry 上的 Open Service Broker API,需要在 pom.xml 里添加如下的依赖:


<dependency>        <groupId>com.sap.cds</groupId>        <artifactId>cds-feature-cloudfoundry</artifactId>    </dependency>
复制代码


即使启用了 Cloud Foundry 功能,CAP Java 也可以确保应用程序仍然可以在本地运行,使用基于 default-env.json 自动配置的 SQLite 或 SAP HANA。 它在所有环境中提供无缝的开发人员体验。


如果我们向应用程序添加了额外的 Java 系统属性 -Dspring-boot.run.profiles=cloud,以确保 application.yaml 中的默认 SQLite 配置不会生效。 将应用程序部署到 Cloud Foundry 时,Cloud Foundry Java Buildpack 会自动完成。


使用命令行 mvn clean install 进行构建:



使用 cf push 进行部署:



最终生成的应用 url:


https://bookstore-cheerful-baboon-hl.cfapps.us10.hana.ondemand.com/



发布于: 刚刚阅读数: 3
用户头像

Jerry Wang

关注

🏆InfoQ写作平台-签约作者🏆 2017-12-03 加入

SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使。2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。工作中使用 ABAP, Java, JavaScript 和 TypeScript 进行开发。

评论

发布
暂无评论
如何将 SAP Business Application Studio 里开发的 Java 应用部署到 SAP BTP 上_云原生_Jerry Wang_InfoQ写作社区