建木在 Rainbond 上使用实践
![建木在 Rainbond 上使用实践](https://static001.geekbang.org/infoq/e5/e5d1d7e3fa7fc840a0bd6f1b2361325d.png)
建木 是一个面向 DevOps 领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具,可以帮助用户轻松编排各种 DevOps 流程并分发到不同平台执行。
建木的图形化编排提供了多个节点,节点可以定义该步骤要执行的操作,用户可通过多个节点自由组合流水线。Rainbond 社区参与了建木节点的开发并贡献了 Rainbond 组件创建与持续部署 节点。用户可使用该节点在 Rainbond 中自动创建组件和持续部署组件。
建木应用的部署则可以通过 Rainbond 开源应用商店一键安装,使建木应用的部署更简单,同时也可以作为应用插件扩展 Rainbond 构建体系。
下图是最终要实现的效果,也是建木的图形化流水线配置,本文将以下图的流程为例进行介绍:
克隆项目源代码
使用 Maven 构建项目
构建 Docker 镜像
在 Rainbond 上自动创建组件并部署
![](https://static001.geekbang.org/infoq/00/00fe7a31e1da7553ca1907ac367213c0.png)
部署 Rainbond 与建木
Rainbond 部署
Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes 和底层复杂技术,支持管理多个 Kubernetes 集群,和管理企业应用全生命周期。
可参阅 基于主机安装Rainbond 文档进行安装。
建木部署
通过 Rainbond 开源应用商店一键安装建木应用,在 平台管理 -> 应用市场 -> 开源应用商店 中搜索 建木
,进行安装。
![](https://static001.geekbang.org/infoq/b9/b947af4a8f428dd74cea38c5b6b7c010.png)
安装完成后,建木应用拓扑图如下,可通过 Rainbond 默认提供的域名访问建木 UI,默认用户密码 admin/123456
![](https://static001.geekbang.org/infoq/99/99fd023c40cad72838af3ad9b6d41ce8.png)
同时也可以在 平台管理 -> 扩展 -> 插件 中看到建木应用插件的定义。
![](https://static001.geekbang.org/infoq/73/73a57ca2d239b79aac6870e2a27ffa55.png)
建木使用
将通过一个 Java SpringBoot Demo 项目进行演示,项目地址:https://gitee.com/zhangbigqi/java-maven-demo
配置图形化流水线
访问建木 UI,进入图形项目。
1.添加 git clone
节点并配置 git 地址。
![](https://static001.geekbang.org/infoq/cb/cb5ea436c5703c765a325a794b071c91.png)
2.添加 maven构建
节点并配置 workspace,其他都默认。
![](https://static001.geekbang.org/infoq/b3/b33d6f1595149f5c612ad7d57263be79.png)
3.搜索 rainbond
,添加 构建docker镜像-rainbond
节点,并配置。
配置 docker 用户和密码,用于推送镜像。需要在建木 首页 -> 密钥管理 中添加。
配置镜像名称。
指定 registry 地址,用于推送镜像。
配置执行构建命令的目录,选择
git clone目录
。
![](https://static001.geekbang.org/infoq/50/501de5dd746171b238b4b6b2f5cc26c7.png)
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
。
![](https://static001.geekbang.org/infoq/a8/a8fc0fe00da72af64aad2812f915cb75.png)
运行图形化流水线
保存流水线配置并触发流水线执行,等待流水线执行完毕。
![](https://static001.geekbang.org/infoq/b8/b8b244c132f0e823ea47e2842972708f.png)
流水线执行完毕后,进入 Rainbond 的测试应用内,可看到组件成功创建。然后进入组件内添加 5000
端口并打开对外服务进行访问,验证服务是否正常。
![](https://static001.geekbang.org/infoq/ad/adae10ba7ccb692b226245b4e67ea15a.png)
最后
当然还有更高级的玩法,建木支持定义 Workflow,Workflow 支持节点并行、串行等等,但只能通过代码项目编辑 DSL 定义 Workflow。
![](https://static001.geekbang.org/infoq/42/42fb7d9aa85c625e5bd43fc5032075bd.png)
版权声明: 本文为 InfoQ 作者【北京好雨科技有限公司】的原创文章。
原文链接:【http://xie.infoq.cn/article/6926a37408e47106f723df2ad】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论