Java SpringBoot 项目部署
概述
Rainbond 支持构建 SpringBoot 单模块和多模块的项目,支持 Maven 和 Gradle 两种构建工具,并能自动识别项目类型。
项目识别策略
Java Maven 项目
pom.xml
文件,且不存在
Dockerfile
文件时,Rainbond 会 将源代码识别为 Java Maven 项目
pom.xml
文件内容识别多模块项目,包括构建命令和启动命令两个部分
多模块识别规则 :
modules
标签找到子模块的 POM 文件
pom.xml
中的
packaging
标签是
jar
或
war
,就会提取模块名和生成的 Jar 包名。如果没有指定
packaging
类型,默认认为是
jar
module
标签的值组成,用斜杠
/
分隔,比如
rbd-worker/rbd-thirdparty
${artifactId}-*.jar
(其中
*
表示版本号)。如果在 POM 文件中设置了
finalName
,则会使用
finalName
中的值
packaging
是
pom
,并且该 POM 文件中有多个
module
,则会递归解析每个子模块
Java Gradle 项目
平台根据源码根目录是否有
gradlew
文件或者
build.gradle
来识别为 Java Gradle 项目。
部署前准备
本地验证
将项目部署到 Rainbond 之前,请按照以下步骤进行本地验证:
源代码托管 :确保源代码托管于 Git 或 SVN 服务器
检查构建环境 :确定 Maven 版本、JDK 版本
mvn -v
java -version
mv ${HOME}/.m2/repository ${HOME}/.m2/repository.bak
mvn -DskipTests clean dependency:list install
pom.xml 规范
jar
包方式打包
war
包方式打包
编译运行环境配置
Rainbond 支持图形化定义编译运行环境,配置位于服务组件的构建源页面。 对这些配置的修改,需要通过构建来生效!
| 配置项 | 说明 |
|---|---|
| 禁用缓存 | 开启后下一次构建将移除所有存在文件,包括编译工具和依赖库 |
| OpenJDK版本 | 选择使用的 OpenJDK 版本,1.8, 1.9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 25 |
| Maven版 本 | 选择 Maven 版本,3.1.1, 3.2.5, 3.3.9, 3.5.4, 3.6.3, 3.8.8, 3.9.1 |
| Web服务器版本 | 仅适用于打包为War包的项目,jetty7, jetty9, tomcat7, tomcat8, tomcat85, tomcat9 |
| Maven配置 | Maven 仓库配置,默认阿里云Maven仓库 |
| Maven构建参数 |
Maven 构建时的附加参数,自定义参数,如
-DskipTests
|
| Maven构建命令 |
Maven 构建执行的目标,自定义命令,如
clean dependency:list install
|
| MAVEN构建Java参数配置 |
构建过程中 JVM 内存配置,JVM 参数,如
-Xmx1024m
|
| 启动命令 | 应用启动命令 |