SpringBoot 项目部署
概述
Rainbond 支持构建 SpringBoot 单模块和多模块的项目,并自动识别。同时也支持通过 Gradle 构建的项目。
Gradle
平台默认会根据源码根目录是否有 gradlew 文件或者 build.gradle 来识别为 Java Gradle 项目.
单模块
当源代码根目录下存在 pom.xml
文件,Rainbond 会将源代码识别为 Java Maven 单模块项目。
多模块
Rainbond 对 Maven 项目的识别是基于 pom.xml
文件的内容,主要分为两个部分:构建命令和启动命令。
- 构建命令:告诉系统需要构建哪些模块。类似于运行
mvn install -pl 'module name' -am
,其中-pl
是指定要构建的模块,-am
表示如果模块有依赖,也一并构建。 - 启动命令:构建完成后,指定执行哪个 Jar 包来启动服务。类似于
web: java $JAVA_OPTS -jar *.jar
,其中*.jar
会被替换为实际的 Jar 包名。
识别规则:
- 模块定位:首先,根据根 POM 文件中的
modules
标签找到子模块的 POM 文件。 - 打包类型:如果
pom.xml
中的packaging
标签是jar
或war
,就会提取模块名和生成的 Jar 包名。如果没有指定packaging
类型,默认认为是jar
。 - 模块名:模块名是由父 POM 文件中
module
标签的值组成,用斜杠/
分隔,比如rbd-worker/rbd-thirdparty
。 - Jar 包名:默认情况下,生成的 Jar 包名是
${artifactId}-*.jar
(其中*
表示版本号)。如果在 POM 文件中设置了finalName
,则会使用finalName
中的值。如果finalName
中使用了变量(如${project.name}
或${project.artifactId}
),就会使用变量的实际值来替换。 - POM 模块:如果 POM 中的
packaging
是pom
,并且该 POM 文件中有多个module
,则会按以上规则递归解析每个子模块。
部署 SpringBoot 多模块项目
- 基于源码部署组件,填写以下信息:
内容 | |
---|---|
组件名称 | 自定义 |
组件英文名称 | 自定义 |
仓库地址 | https://gitee.com/zhangbigqi/RuoYi-Vue.git |
代码版本 | Master |
- 进入多模块构建,勾选 ruoyi-admin 模块,此模块是可运行的,其他模块都是依赖项。
- 进入 组件 -> 端口 删除掉默认5000端口,添加 8080 http 端口。
- 等待构建完成即可。
部署 SpringBoot 单模块项目
进入到团队下,新建应用选择基于源码示例进行构建,选中 Java Maven Demo 并默认全部下一步即可。
部署 Gradle 项目
- 基于源码部署组件,填写以下信息:
内容 | |
---|---|
组件名称 | 自定义 |
组件英文名称 | 自定义 |
仓库地址 | https://gitee.com/rainbond/java-gradle-demo.git |
代码版本 | Master |
- 下一步全部默认,等待构建完成。