本地源码包或软件包部署
概述
Rainbond 支持通过上传本地文件的方式快速部署应用,无需连接代码仓库。根据上传内容不同,可以分为两类:
- 源码 ZIP:上传未构建的项目源码压缩包,Rainbond 解压后会继续识别语言、安装依赖、执行构建并生成镜像
- 软件包 / 构建产物: 上传已经准备好的
JAR、WAR或前端静态资源 ZIP,平台直接按对应类型部署
如果你希望 Rainbond 接管依赖安装、构建和启动过程,优先使用源码 ZIP;如果你已经有可直接运行或可直接托管的产物,则使用软件包方式更合适。
支持的上传类型
Rainbond 支持以下几种本地上传方式:
| 类型 | 适用场景 | 说明 |
|---|---|---|
| 源码 ZIP | 本地已有完整项目源码,但暂未托管到 Git | 上传后由 Rainbond 继续识别语言并执行源码构建 |
| JAR | Java SpringBoot 应用 | 可直接运行的 SpringBoot Jar 包 |
| WAR | Java Web 应用 | 需要在 Servlet 容器中运行的 Web 应用 |
| 静态资源 ZIP | 前端静态站点 | 前端构建后的静态资源包,由 Nginx 提供服务 |
如何选择上传方式
- 选择 源码 ZIP:你手里是未构建的项目源码,希望 Rainbond 自动完成依赖安装、构建和启动配置
- 选择 JAR / WAR:你已经有可直接运行的 Java 构建产物,希望跳过源码构建
- 选择 静态资源 ZIP:你已经完成前端构建,只需要部署
dist、build、out等静态产物
上传内容要求
JAR 包要求
- 必须是可执行的 SpringBoot Jar 包
- 包含完整的依赖和运行时文件
WAR 包要求
- 符合 Java Servlet 规范的 Web 应用包
- 将在 Tomcat 或 Jetty 等容器中运行
- 确保
WEB-INF目录结构完整
源码 ZIP 包要求
源码 ZIP 用于上传未构建的项目代码,解压后应能直接看到项目根目录和语言识别文件。例如:
source.zip
├── pom.xml / build.gradle / package.json / requirements.txt / go.mod
├── src/
├── app/ 或 cmd/
├── public/ 或 static/
└── ...
- ZIP 解压后应直接为项目源码根目录
- 根目录需保留语言识别文件,如
pom.xml、build.gradle、package.json、requirements.txt、go.mod等 - 压缩包中应包含构建所需的源码、配置文件和依赖描述文件
- 建议不要上传
node_modules、target、build、dist等本地构建缓存 - 如果上传的是前端构建产物,而不是源码,请使用下文的静态资源 ZIP 方式
重要提示
- Rainbond 会按源码继续检测项目语言并执行构建
- 如果 ZIP 根目录缺少语言识别文件,或者上传的只是残缺源码,可能无法正确识别项目类型
- 如果你上传的是已构建的前端静态资源,请不要按源码 ZIP 方式处理
静态资源 ZIP 包要求
静态资源 ZIP 是前端项目构建后的静态资源包,必须满足以下结构要求:
package.zip
└── dist/ # 必须包含 dist 文件夹
├── index.html
├── static/
│ ├── js/ # JavaScript 文件
│ ├── css/ # CSS 样式文件
│ └── img/ # 图片资源
└── ... # 其他静态资源
重要提示
- ZIP 包解压后必须包含 dist 文件夹
dist文件夹下必须包含index.html或其他 HTML 入口文件dist文件夹下包含js、css、img等静态资源- 如果 ZIP 包结构不符合要求,部署将会失败