在开发之前,你需要在本地安装各种开发工具和服务,比如:Mysql、Redis、Nacos 等等,我们都知道在个人电脑上安装这些服务相当的繁琐,可能会遇到很多问题,环境问题、依赖问题等等。
在需要团队协作业务联调的时候,由于同事们的操作系统不统一,有 Mac、Win、Linux,可能还会遇到操作系统依赖、字符集等问题。
在上线之前,你在本地开发调试都完全没问题,部署到服务器就不能用了。经典再现:我本地好好的,咋到你部署就不能用了。
使用 Rainbond 本地开发的好处
「部署方便」
在对于新的项目或者新的团队时,都需要搭建新的开发环境,这个过程需要进行几个小时,而且还会遇到奇奇怪怪的问题。在团队协作时,来了新人后,同样还是需要花费几个小时去搭建环境。使用 Rainbond 将基础环境打好包,新项目、新人来了安装即用,让我们尽量避免在搭建环境上浪费时间。
「统一环境」
对于中小企业来说,没有太多的成本支持搭建公用的开发环境。那么就使用 Rainbond 统一开发环境,不管是 Windows、Mac 都可以安装 Rainbond,同时如果测试、生产环境也使用 Rainbond,可以直接导出应用包在测试、生产环境运行。
在本地部署 Rainbond
无论是 Windows、Mac 都可以很轻松快速的部署 Rainbond,只需要你的环境有 Docker Desktop 即可。
「Mac」
支持在 Mac x86、M1 上部署
curl -o install.sh https://get.rainbond.com && bash ./install.sh
「Windows」
docker run --privileged -d -p 7070:7070 -p 80:80 -p 443:443 -p 6060:6060 -p 8443:8443 ^
--name=rainbond-allinone --restart=on-failure ^
-v rainbond-data:/app/data ^
-v rainbond-opt:/opt/rainbond ^
-e EIP=<你的IP地址> ^
registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond:v5.10.0-dind-allinone
资源占用
在本地搭建这样一个云原生平台,最关心的当然是资源占用。因为本地的配置通常都不是很高,我的配置是 M1Pro 16G,部署 Rainbond 后在 Docker Desktop 中查看资源占用情况如下图,整体占用不大,CPU占用 ≈ 10%、内存占用 1.1GB。
基础环境搭建
你可以通过 Rainbond 开源应用商店快速的安装基础环境所需要的服务,比如:Mysql、Redis、ZK、Kafka、ES、Nacos 等等。都可以一键安装,非常简单便利。
业务部署、统一环境
通过 Rainbond 部署业务,让我们不再关心底层的 Docker 镜像用的是什么,Dockerfile 怎么写等等,由 Rainbond 统一开发环境、测试环境、生产环境,你本地能在 Rainbond 上成功部署,那么在测试、生产中同样也可以。再也不用经典再现了:“本地可以,线上咋不行”。
使用 Rainbond 在本地搭建业务,可以通过多种方式部署,Jar War包部署、源码部署都可以。
开发模块共用
在一个项目内有许多模块是公用的,比如说基础环境 Mysql、Redis,还有些用户模块、权限模块等等,我们在本地的 Rainbond 上搭建好后,将其发布到应用市场,其他同事需要直接安装,然后再开发自己的模块。
应用商店应用发布分为两种方式:
- 发布到内部组件库:这种方式需要导出应用包给其他同事再自己环境再导入
- 发布到开源应用商店:这种方式是存放到 Rainbond 的开源应用商店,其他同事直接在线拉下来,不过别的开源用户也能安装,对于项目私密的不推荐。
将我们已经部署好的应用发布到内部组件库,应用视图 -> 发布 -> 发布到组件库,进入平台管理 -> 应用市场 -> 导出应用。将下载的包给其他同事在自己的本地环境中安装即可。
最后
通过 Rainbond 在本地开发非常便捷,对于资源也占用不大,同时也能统一开发测试环境,借助 Rainbond 的应用市场功能能实现许多场景,比如上面提到的模块共用,也可以实现本地开发完就交付到演示环境、测试环境、生产环境。