使用 Rainbond 搭建本地开发环境

news2024/11/23 21:30:25

在开发之前,你需要在本地安装各种开发工具和服务,比如: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 上搭建好后,将其发布到应用市场,其他同事需要直接安装,然后再开发自己的模块。

应用商店应用发布分为两种方式:

  1. 发布到内部组件库:这种方式需要导出应用包给其他同事再自己环境再导入
  2. 发布到开源应用商店:这种方式是存放到 Rainbond 的开源应用商店,其他同事直接在线拉下来,不过别的开源用户也能安装,对于项目私密的不推荐。

将我们已经部署好的应用发布到内部组件库,应用视图 -> 发布 -> 发布到组件库,进入平台管理 -> 应用市场 -> 导出应用。将下载的包给其他同事在自己的本地环境中安装即可。

最后

通过 Rainbond 在本地开发非常便捷,对于资源也占用不大,同时也能统一开发测试环境,借助 Rainbond 的应用市场功能能实现许多场景,比如上面提到的模块共用,也可以实现本地开发完就交付到演示环境、测试环境、生产环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/46109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第十三章《集合》第5节:Map集合

List、Set和Queue都是Collection接口的子接口,因此从更高层次来说它们属于统一类型的集合。Map接口也代表一种集合,但它不是Collection子接口,因此它属于另一种类型的集合。Map用于保存具有映射关系的数据。映射关系的数据分为两部分,就好比电话本一样,如图13-20所示。 图…

运筹说 第82期 | 算法介绍之图与网络分析(二)

本期我们继续进行运筹学之图与网络分析算法的讲解&#xff0c;我们将对图与网络分析的基础知识进行一个简单的回顾&#xff0c;并介绍求解最大流问题和最小费用最大流的MATLAB和Python相关代码&#xff0c;以帮助大家利用工具快速求解最大流问题和最小费用最大流问题&#xff0…

Spring的Bean意义

一、Spring概述 1. Spring家族 官网&#xff1a;https://spring.ioSpring发展到今天已经形成了一种开发的生态圈&#xff0c;Spring提供了若干个项目&#xff0c;每个项目用于完成特定的功能。 2. Spring体系结构 ⑴. Spring Framework系统架构图 Spring Framework是Spri…

四、【React-Router5】样式丢失问题

文章目录1、先上结论2、修改上一节代码3、发现问题4、分析原因5、3个解决办法1、先上结论 public/index.html 中 引入样式时不写 ./ 写 / [ 常用 ]public/index.html 中 引入样式时不写 ./ 写 %PUBLIC_URL% [ 常用 ]使用 HashRouter 2、修改上一节代码 点击访问 上节代码&…

[附源码]SSM计算机毕业设计学生档案管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【错误 :Segmentation fault 】以及gdb调试 core duumped文件

core dumped文件&#xff08;核心转储文件&#xff09; 当进程意外终止&#xff0c;系统可以将该进程的地址空间的内容急终止的一些其它信息转储到核心转储文件 它的触发条件&#xff0c;当系统收到以下信号时就会产生coredumped文件。 SIGABRT &#xff1a;异常终止(abort)时…

野火FPGA进阶(1):基于SPI协议的Flash驱动控制

文章目录第48讲&#xff1a;基于SPI协议的Flash驱动控制0. 理论部分1. Flash全擦除实验key_filterflash_be_ctrlspi_flash_betb_flash_be_ctrltb_spi_flash_be2. Flash扇区擦除实验key_filterflash_se_ctrlspi_flash_se3. 数据读操作key_filteruart_txflash_read_ctrlspi_flash…

专注于元宇宙实际应用方案的企业

元宇宙的话题持续火热。国内互联网大厂正在加大对元宇宙相关技术和应用的研发&#xff0c;元宇宙正在逐步成为创新创业的主战场。企业元宇宙在教育、会展、文创、旅游、博物馆、文化艺术、娱乐、社交、版权、零售等等领域发力&#xff0c;增加客户对企业的认同。 也许未来只需一…

接口测试学习第一天

1. 接口 接口的定义&#xff1a;是指系统或组件之间的交互点&#xff0c;通过这些交互点可以实现数据的交互。&#xff08;数据交互的通道&#xff09; 接口的分类&#xff1a;硬件接口和软件接口&#xff1b;我们这里只关注软件层面的接口&#xff1b; 1.1 接口的类型 接…

LeetCode-28-找出字符串中第一个匹配项的下标

1、KMP算法$$ 解决本问题最简单的方法就是暴力穷举&#xff0c;思路简单但时间复杂度为O(m∗n)O(m*n)O(m∗n)。此处我们仅考虑最优的KMP算法&#xff0c;时间复杂度为O(mn)O(mn)O(mn)。 KMP算法的优化之处在于当我们对比haystackhaystackhaystack和needleneedleneedle时&…

[附源码]计算机毕业设计springboot基于Java酒店管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

亚马逊商品销售数据爬虫分析报告

家电产业和消费者升级悄然地展开。 市场的这种变化使消费者对家用电器的期望不再仅仅是一个简单的功能满足&#xff0c;而是更多的细节体验和技术创新。 通过洞察家用电器的消费特点&#xff0c;有利于确定市场的未来趋势&#xff0c;从而积极应对市场变化。 ▼ 我们围绕亚马逊…

AI智能视频技术在考古工作中的安防应用

文物考古关系着民族文化的传承、历史的记录与保留&#xff0c;工作意义重大。考古发掘工地由于面积大、区域多且分散&#xff0c;以及周边环境复杂&#xff0c;因此安全防护工作开展困难&#xff0c;整体的安全形势不容乐观。 一、考古现场安保面临问题&#xff1a;1、考古遗址…

K - Scholomance Academy Gym - 103202K

题目链接 题意&#xff1a;很长&#xff0c;读了很长时间才懂&#xff1a; 就是给一个物品评分&#xff0c;假设分数大于等于x&#xff0c;就将其判断为正数&#xff0c;否则判断为负数 这样判断肯定会出现一些误判&#xff0c;那么我们将判为负数的正数成为假正数&#xff0…

C. Set or Decrease(二分 + 有两个不确定情况如何二分)

Problem - 1622C - Codeforces 给你一个整数数组a1,a2,...,an和整数k。 在一个步骤中&#xff0c;你可以 选择某个索引i并将ai减少1&#xff08;使aiai-1&#xff09;。 或者选择两个索引i和j&#xff0c;将ai等于aj&#xff08;使aiaj&#xff09;。 为了使数组∑i1nai≤k的…

启动服务提供者报 zookeeper not connected错

今天启动zookeeper的服务提供者后&#xff0c;报 zookeeper not connected错&#xff0c;记录一下解决过程 意思是zookeeper注册中心连接不上&#xff0c;无非两个原因&#xff1a; 第一&#xff1a;zookeeper没有启动好。第二&#xff1a;zookeeper的ip以及端口号配置没配好 …

算法day35|860,406,452

目录 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球 860.柠檬水找零 class Solution:def lemonadeChange(self, bills: List[int]) -> bool:five,ten,twenty 0,0,0for bill in bills:#情况一&#xff1a;如果bills是5元&#xff0c;不需要找零if bill…

黑马点评--附近商铺

附近商铺 GEO数据结构 GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本加入了对GEO的支持&#xff0c;允许存储地理坐标消息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a; GEOADD&#xff1a;添加一个地理空间信息&#xff0…

gcexcel-java-5.2.5 Crack update in 2022-11-28

gcexcel高速 Java Excel 电子表格 API 库 在 Java 应用程序中以编程方式创建、编辑、导入和导出 Excel 电子表格。几乎可以在任何地方部署。 创建、加载、编辑和保存 Excel 电子表格 保存为 .XLSX、PDF、HTML、CSV 和 JSON 基于具有零 Excel 依赖性的 Excel 对象模型 在本地、…

Tomcat负载均衡部署动静分离

NginxTomcat架构拓扑 环境部署 Nginx服务器&#xff1a;IP地址192.168.32.3 Tomcat服务器1&#xff1a;IP地址192.168.32.4 Tomcat服务器2&#xff1a;IP地址192.168.32.5 关闭防火墙&#xff0c;关闭开机自启 systemctl stop firewalld.service setenforce 0Nginx 主机安…