构建源管理

Rainbond 组件创建有三种模式:源码镜像和应用市场,不同的创建方式对应组件不同的构建源类型。 对于开发者来说可能需要经常修改代码分支、镜像 Tag,构建环境参数等。这些需求通过对组件构建源的相关设置完成。

  • 源码

    源码的构建源配置包括基础的代码仓库信息包括(仓库地址,分支,Tag, 授权信息等)

    各语言支持的不同编译环境参数设置

  • 镜像

    镜像的可配置参数主要是镜像地址,授权账号信息和镜像启动命令。

构建源检测

组件创建时对构建源进行语言检测,在后续的持续开发中,如果源码更改了语言类型,比如从 Java-Maven 类型更改为 Dockerfile 类型,需用执行重新检测源码操作,让 Rainbond 重新设定组件的编译方式才能生效。

Rainbond 在源码编译过程中不会重新识别语言类型,因此如果组件源码的语言类型发生改变必须重新进行构建源检测。

自动构建设置

自动构建即通过一种方式自动触发 Rainbond 组件版本构建的操作,详细文档见 组件自动构建

构建参数设置

请注意,各语言配置项可能随着版本的升级而变更,因此请以产品体现为主。

JAVA Maven 语言类型

参数名称默认值可选值说明
清除构建缓存(NO_CACHE)true默认不启用
OpenJDK 版本(BUILD_RUNTIMES)1.81.6,1.7,1.8,1.9,10,11OpenJDK 版本
启用 OracleJDK(BUILD_ENABLE_ORACLEJDK)true默认不启用 OracleJDK
OracleJDK 下载路径(BUILD_ENABLE_ORACLEJDK)OracleJDK(linux amd64)下载路径
Maven 版本(BUILD_RUNTIMES_MAVEN)3.3.13.0.5,3.1.1,3.2.5,3.3.1,3.3.9Maven 版本
Web 组件器支持(BUILD_RUNTIMES_SERVER)tomcat85tomcat7,tomcat8,tomcat85,tomcat9,jetty7,jetty9
禁用 Maven Mirror(BUILD_MAVEN_MIRROR_DISABLE)true默认启用 Maven mirror,若禁用 Mirror 则关于 Mirror 配置不生效
MAVEN MIRROR OF 配置(BUILD_MAVEN_MIRROR_OF)
MAVEN MIRROR_URL(BUILD_MAVEN_MIRROR_URL)maven.goodrain.me
Maven 构建参数(BUILD_MAVEN_CUSTOM_OPTS)-DskipTestsMaven 构建参数
Maven 构建全局参数(BUILD_MAVEN_CUSTOM_GOALS)clean dependency:list installMaven 构建参数
MAVEN 构建 Java 参数配置(BUILD_MAVEN_JAVA_OPTS)-Xmx1024m
启动命令(BUILD_PROCFILE)War 包:web: java $JAVA_OPTS -jar ./webapp-runner.jar —port $PORT target/.war;Jar 包:web: java -Dserver.port=$PORT $JAVA_OPTS -jar target/*.jar

JAVA Jar 语言类型

参数名称默认值可选值说明
OpenJDK 版本(BUILD_RUNTIMES)1.81.6,1.7,1.8,1.9,10,11OpenJDK 版本
启用 OracleJDK(BUILD_ENABLE_ORACLEJDK)true默认不启用 OracleJDK
OracleJDK 下载路径(BUILD_ENABLE_ORACLEJDK)OracleJDK(linux amd64)下载路径
启动命令(BUILD_PROCFILE)web: java -Dserver.port=$PORT $JAVA_OPTS -jar target/*.jar

JAVA War 语言类型

参数名称默认值可选值说明
OpenJDK 版本(BUILD_RUNTIMES)1.81.6,1.7,1.8,1.9,10,11OpenJDK 版本
启用 OracleJDK(BUILD_ENABLE_ORACLEJDK)true默认不启用 OracleJDK
OracleJDK 下载路径(BUILD_ENABLE_ORACLEJDK)OracleJDK(linux amd64)下载路径
Web 组件器支持(BUILD_RUNTIMES_SERVER)tomcat85tomcat7,tomcat8,tomcat85,tomcat9,jetty7,jetty9
启动命令(BUILD_PROCFILE)web: java -Dserver.port=$PORT $JAVA_OPTS -jar target/*.jar

JAVA Gradle 语言类型

参数名称默认值可选值说明
OpenJDK 版本(BUILD_RUNTIMES)1.81.6,1.7,1.8,1.9,10,11OpenJDK 版本
启用 OracleJDK(BUILD_ENABLE_ORACLEJDK)true默认不启用 OracleJDK
OracleJDK 下载路径(BUILD_ENABLE_ORACLEJDK)OracleJDK(linux amd64)下载路径

Python 语言类型支持

参数名称默认值可选值说明
Python 版本(BUILD_RUNTIMES)python-3.6.6python-3.4.3,python-3.5.3,python-3.6.0,python-3.6.1,python-3.6.2,python-3.6.3,python-3.6.4,python-3.6.5,python-3.6.6,python-2.7.9,python-2.7.10,python-2.7.13,python-2.7.14,python-2.7.15
Pypi 源(BUILD_PIP_INDEX_URL)https://pypi.tuna.tsinghua.edu.cn/simplePIP 源
清除构建缓存(NO_CACHE)true默认不启用

PHP 语言类型

参数名称默认值可选值说明
web 组件器支持(BUILD_RUNTIMES_SERVER)apachenginx
PHP 版本(BUILD_RUNTIMES)5.6.355.5.38,5.6.35,7.0.29,7.1.16
清除构建缓存(NO_CACHE)true默认不启用

静态语言类型

参数名称默认值可选值说明
web 组件器支持(BUILD_RUNTIMES_SERVER)nginxapache

NodeJS 语言类型

参数名称默认值可选值说明
Node 版本(BUILD_RUNTIMES)8.12.04.9.1,5.12.0,6.14.4,7.10.1,8.12.0,9.11.2,10.13.0,11.1.0Node 版本
清除构建缓存(NO_CACHE)true默认不启用

Golang 语言类型

参数名称默认值可选值说明
Golang 版本(BUILD_RUNTIMES)go1.11.2go1.9.7 go1.8.7 go1.11.2 go1.11 go1.11.1 go1.10.5 go1.10.4Go 版本

NodeJS 前端语言类型

参数名称默认值可选值说明
Node 版本(BUILD_RUNTIMES)8.12.04.9.1,5.12.0,6.14.4,7.10.1, 8.12.0,9.11.2,10.13.0,11.1.0Node 版本
清除构建缓存(NO_CACHE)true默认不启用
web 组件器支持(BUILD_RUNTIMES_SERVER)nginxapache

.NetCore 语言类型

参数名称默认值可选值说明
编译环境版本(BUILD_DOTNET_SDK_VERSION)2.2-sdk-alpine3.0-sdk,2.2-sdk-alpine,2.1-sdk编译环境版本
运行环境版本(BUILD_DOTNET_RUNTIME_VERSION)2.2-aspnetcore-runtime3.0-aspnetcore-runtime,2.2-aspnetcore-runtime,2.1-aspnetcore-runtime运行环境版本

Dockerfile 语言类型

支持 ARG 参数设置,key-value 模式

  1. ARG CODE_VERSION=latest
  2. FROM base:${CODE_VERSION}
  3. CMD /code/run-app

更多高级构建源配置

📄️ 持续组件构建与版本管理本文讲解基于Rainbond如何进行持续的组件开发

📄️ 配置组件自动构建部署本文讲解Rainbond组件与外部平台对接实现自动构建和部署的方式