建木在 Rainbond 上使用实践

news/2024/7/4 7:48:58 标签: kubernetes, 容器, 云原生, ci

建木 是一个面向 DevOps 领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具,可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。

建木的图形化编排提供了多个节点,节点可以定义该步骤要执行的操作,用户可通过多个节点自由组合流水线。Rainbond 社区参与了建木节点的开发并贡献了 Rainbond组件创建与持续部署 节点。用户可使用该节点在 Rainbond 中自动创建组件和持续部署组件。

建木应用的部署则可以通过 Rainbond 开源应用商店一键安装,使建木应用的部署更简单,同时也可以作为应用插件扩展 Rainbond 构建体系。

下图是最终要实现的效果,也是建木的图形化流水线配置,本文将以下图的流程为例进行介绍:

  1. 克隆项目源代码
  2. 使用 Maven 构建项目
  3. 构建 Docker 镜像
  4. 在 Rainbond 上自动创建组件并部署

部署 Rainbond 与建木

Rainbond 部署

Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes和底层复杂技术,支持管理多个Kubernetes集群,和管理企业应用全生命周期。

可参阅 基于主机安装Rainbond 文档进行安装。

建木部署

通过 Rainbond 开源应用商店一键安装建木应用,在 平台管理 -> 应用市场 -> 开源应用商店 中搜索 建木,进行安装。

安装完成后,建木应用拓扑图如下,可通过 Rainbond 默认提供的域名访问建木 UI,默认用户密码 admin/123456

同时也可以在 平台管理 -> 扩展 -> 插件 中看到建木应用插件的定义。

建木使用

将通过一个 Java SpringBoot Demo 项目进行演示,项目地址:https://gitee.com/zhangbigqi/java-maven-demo

配置图形化流水线

访问建木UI,进入图形项目。

1.添加 git clone 节点并配置 git 地址。

2.添加 maven构建 节点并配置 workspace,其他都默认。

3.搜索 rainbond,添加 构建docker镜像-rainbond 节点,并配置。

  • 配置 docker 用户和密码,用于推送镜像。需要在建木 首页 -> 密钥管理 中添加。
  • 配置镜像名称。
  • 指定 registry 地址,用于推送镜像。
  • 配置执行构建命令的目录,选择 git clone目录

4.搜索 rainbond,添加 rainbond组件创建与部署 节点,并配置。

  • Rainbond URL: Rainbond 的访问地址,例如:http://192.168.1.1:7070
  • Rainbond Token:Rainbond 控制台 -> 个人中心 -> 访问令牌 中生成 Token。
  • Rainbond 团队ID: 例如进入到开发团队下,此时的 URL 为 http://192.168.1.1:7070/#/team/e2h5j3d8/region/rainbond/index,e2h5j3d8 就是团队ID。
  • Rainbond 集群ID: 例如进入到开发团队下,此时的 URL 为 http://192.168.1.1:7070/#/team/e2h5j3d8/region/rainbond/index,rainbond 就是集群ID。
  • Rainbond 应用ID: 例如进入到开发团队的测试应用下,此时的 URL 为 http://192.168.1.1:7070/#/team/e2h5j3d8/region/rainbond/apps/5,5 就是应用ID。
  • 镜像地址: 选择上一步的 镜像名称:镜像Tag
  • 组件名称: 部署在 Rainbond 上的组件名称,例如:java-test

运行图形化流水线

保存流水线配置并触发流水线执行,等待流水线执行完毕。

流水线执行完毕后,进入 Rainbond 的测试应用内,可看到组件成功创建。然后进入组件内添加 5000 端口并打开对外服务进行访问,验证服务是否正常。

最后

当然还有更高级的玩法,建木支持定义 Workflow,Workflow 支持节点并行、串行等等,但只能通过代码项目编辑 DSL 定义 Workflow。


http://www.niftyadmin.cn/n/214175.html

相关文章

ELK日志分析系统+zookeeper

ELK日志分析系统zookeeper一、zookeeper简介1、zookeeper概念2、zookeeper数据结构二、zookeeper工作机制1、zookeeper特点2、zookeeper应用场景三、zookeeper集群部署1、安装前先关闭防火墙 核心防护2、安装JDK3、安装zookeeper4、修改配置文件5、创建数据目录和日志目录&…

uniapp中canvas绘制图片内容空白报错原因总结

uniapp中canvas绘制图片内容空白报错原因总结,看完需要10分钟 问题图: 效果图: 目录 🧨🧨🧨首先定义画布canvas canvas画布初始值没有,导致没有绘制成功 🧨🧨🧨2.绘制图…

Linux下使用ClamAV病毒查杀

一、介绍Clam AntiVirus 是一款 UNIX 下开源的 (GPL) 反病毒工具包,专为邮件网关上的电子邮件扫描而设计。该工具包提供了包含灵活且可伸缩的监控程序、命令行扫描程序以及用于自动更新数据库的高级工具在内的大量实用程序。该工具包的核心在于可用于各类场合的反病…

Nginx connect req access 模块

Nginx connect req access 模块演练 limig_conn模块:限制TCP连接数limit_req模块:限制请求频率access 模块(allow/deny):限制ip段访问auth_request: 基于HTTP响应状态码做权限控制压测可以使用 postman的 run collect…

帆软FineReport学习篇(三)——单元格扩展

帆软FineReport学习篇(三)——单元格扩展 1 准备工作 1.1 新建一个模板数据集 1.1.1 点击号➡点击数据库查询 1.1.2 书写SQL语句➡点击确定按钮 1.1.3 创建成功后的界面 1.2 将左侧的销售员字段拖入A1单元格内 1.3 为A1单元格设置外边框 1.3.1 点击A1单元格➡点击田字格➡点…

类和对象(C++11)

目录 一、类的定义 1.定义与声明放一起 2.定义与声明分开 二、类的访问限定符及封装 1.类的访问限定符 2.类的封装 三、类的实例化 四、类对象 1.类对象的存储方式 2.计算类对象的大小 面试题 1.结构体怎么对齐? 为什么要进行内存对齐? 2.如…

JAVA开发运维(Jenkins中踩的坑)

最近尝试通过Jenkins来自动化部署项目,没想到还踩了很多坑。Jenkins部署的基本原理: 通过Jenkins服务器拉取gitlab上的代码进行打包,推送到目标服务器上,并运行启动脚本。 那么Jenkins就要解决三个问题。 1.连接上目标服务器 …

边缘计算应用智慧城管解决方案-英码科技

城市治理旨在有效解决城市公共问题、提供城市公共服务、增进城市公共利益。然而,由于城市的高度复杂性,有效治理成为了一项极具挑战性的任务。在日常生活中,我们经常看到违规停车、乱倒垃圾、违规经营、乱贴广告等各种城市管理问题。这些问题…