Java SpringBoot 项目部署
概述
Rainbond 支持构建 SpringBoot 单模块和多模块的项目,支持 Maven 和 Gradle 两种构建工具,并能自动识别项目类型。
项目识别策略
Java Maven 项目
- 单模块项目:当源代码根目录下存在
pom.xml文件,且不存在Dockerfile文件时,Rainbond 会将源代码识别为 Java Maven 项目 - 多模块项目:Rainbond 基于
pom.xml文件内容识别多模块项目,包括构建命令和启动命令两个部分
多模块识别规则:
- 模块定位:根据根 POM 文件中的
modules标签找到子模块的 POM 文件 - 打包类型:如果
pom.xml中的packaging标签是jar或war,就会提取模块名和生成的 Jar 包名。如果没有指定packaging类型,默认认为是jar - 模块名:模块名由父 POM 文件中
module标签的值组成,用斜杠/分隔,比如rbd-worker/rbd-thirdparty - Jar 包名:默认情况下,生成的 Jar 包名是
${artifactId}-*.jar(其中*表示版本号)。如果在 POM 文件中设置了finalName,则会使用finalName中的值 - POM 模块:如果 POM 中的
packaging是pom,并且该 POM 文件中有多个module,则会递归解析每个子模块
Java Gradle 项目
平台根据源码根目录是否有 gradlew 文件或者 build.gradle 来识别为 Java Gradle 项目。