Rainbond PipeLine插件部署与springboot应用部署实践
前言:上一篇介绍额rainbond单机部署+单个节点的k8s环境搭建,本篇介绍rainbond5.12新增的pipeline插件的使用
1、Pipeline插件的安装
安装gitlab与gitlab-runner
Pipeline 应用插件依赖于 GitLab 和 GitLab Runner,需要先部署 GitLab 和 GitLab Runner;如果您已经部署了 GitLab 和 GitLab Runner,可以跳过此步骤。
在团队视图下,点击团队;新建-从应用市场安装

在开源应用商店,搜索gitlab

安装完成后,进入gitlab管理员界面,找到注册runner的token


Gitlab-runner部署完成后,进入组件内 -> Web 终端,执行以下命令进行注册

修改URL,TOKEN,TAG中的内容为自己的 GitLab 地址和 Token以及 Runner Tag,Tag名称随便自定义一个

参考命令如下:
gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image alpine:latest \
--url "http://80.gr51c6c9.jknqu4l0.e84e34.grapps.cn/" \
--registration-token "jvgpm_zgZyr7swTKvPY7" \
--description "docker-runner" \
--tag-list "xujk-runner" \
--run-untagged="true" \
--locked="false" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock \
--docker-volumes /root/.m2/ \
--docker-privileged="true" \
--access-level="not_protected" \
--docker-pull-policy="if-not-present"
命令执行成功后,可在gitlab管理界面查看runner信息


安装pipeline插件
从应用市场搜索pipeline插件,安装

安装成功后,修改Pipeline-Backend组件内的环境变量
• RAINBOND_URL: Rainbond 控制台访问地址,例如:http://192.168.231.138:7070。
• RAINBOND_TOKEN: Rainbond 控制台的 Token,可以在 右上角用户 -> 个人中心 -> 访问令牌 中获取。

• BACKEND_URL: 修改为pipeline插件中pipeline_backend的url地址:http://9090.grce8d7b.zf9ivk3r.e84e34.grapps.cn

修改完成后,更新或重启组件生效

进入到 Pipeline 应用内 -> k8s 资源 -> 编辑 rainbond-pipeline,修改 pipeline 资源中的 access_urls 配置,修改为 Pipeline-UI 组件的对外访问地址




修改完成后,就可以在每个团队视图中看到 流水线 按钮选项了

2、java springboot项目部署实践
代码项目准备,参考项目:https://gitee.com/xujk-27400861/springboot-dubbo.git
在gitlab中,新建导入项目,从gitee码云仓库中拷贝代码



在rainbond界面,流水线管理界面中,新建流水线;因为应用服务依赖于流水线



新建应用服务


在代码管理面板中,点击构建,编译发布代码

在gitlab管理界面中,可以看到流水线操作状况


在rainbond管理界面中,可以看到springboot1应用中,springboot服务运行更新的状态



boot应用是通过镜像来构建的,我们可以自定义api方式,配置rainbond自动构建

3、springbootapp1流水线相关步骤说明
代码构建步骤:

镜像制作步骤:

参考代码:
cp ${package_path}/target/${jar_name}.jar app.jar
docker login -u ${REPOSITORY_USERNAME} -p ${REPOSITORY_PASSWORD}
docker build -t ${ORG}/${modulename}:${DEVOPS_VERSION} .
docker push ${ORG}/${modulename}:${DEVOPS_VERSION}
export IMAGE=${ORG}/${modulename}:${DEVOPS_VERSION}
curl -d '{"secret_key":"LnfODTFb"}' -H "Content-type:application/json" -X POST http://192.168.231.138:7070/console/custom/deploy/a577d26b5afc5c65125a5258b9cbcd50
相关环境变量:
package_path:provider
REPOSITORY_USERNAME与REPOSITORY_PASSWORD对应hub.docker.com的用户名和密码,REPOSITORY_URL镜像仓库地址,我这里置空,默认访问hub.docker
DEVOPS_VERSION:1.0
modulename:springbootapp
ORG:xjk****0861
jar_name:provider-0.0.1-SNAPSHOT,对应java打完包的包名称
4、关于.netcore项目的构建
由于pipeline没有.netcore的构建模板,暂时应该不支持;
我们可以通过其他的CI/CD工具,比如jenkins,azure devops,gitlab自带的CI/CD工具等,构建好代码,打包镜像,通过调用rainbond api的方式发布应用;也可以通过构建-镜像仓库Webhook-的方式,通过镜像更新,来触发更新构建服务应用,具体可参考rainbond官网自动部署部分
Rainbond PipeLine插件部署与springboot应用部署实践的更多相关文章
- SpringBoot热部署插件
1.配置在 maven工程中的pom.xml文件中 2.SpringBoot框架中提供的一个热部署插件,利用该热部署插件,我们可以在修改代码后不用重启应用,大大提高开发效率:
- SpringBoot(三):SpringBoot热部署插件
SpringBoot热部署插件 在实际开发中,我们修改了某些代码逻辑功能或页面都需要重启应用,这无形中降低了开发效率!热部署是指当我们修改代码后,服务能自动启动加载新修改的内容,这样大大提高了我们开发 ...
- linux小白成长之路10————SpringBoot项目部署进阶
[内容指引] war包部署: jar包部署: 基于Docker云部署. 一.war包部署 通过"云开发"平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的 ...
- SpringBoot(六):springboot热部署
在j2ee项目开发中,热部署插件是JRebel.JRebel的使用为开发人员带来了极大的帮助,且挺高了开发便捷.而在SpringBoot开发生态环境中,SpringBoot热部署常用插件是:sprin ...
- idea配置SpringBoot热部署之自动Build
一.pom.xml文件导入所需依赖文件 SpringBoot热部署插件 <dependency> <groupId>org.springframework.boot</g ...
- SpringBoot热部署的两种方式
SpringBoot热部署方式一共有两种,分别使用两种不同的依赖 SpringBoot 1.3后才拥有SpringBoot devtools热部署 ①:spring-boot-devtools ② ...
- docker 中部署一个springBoot项目
docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml <?xml version="1.0" encodi ...
- SpringBoot打包部署简单说明
SpringBoot项目打包部署 一.jar包方式 这种使用SpringBoot内嵌的Tomcat进行部署 打包方式默认jar,所以下面加也行,不加也行 <packaging>war< ...
- SpringBoot"热"部署解决方案
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 SpringBoot热部署两种方式 1.SpringLoader 插件 缺点: Java 代码做部署处理.但是对页面无能为力. 2.DevToo ...
- springboot热部署设置
springboot提供了热部署,所谓热部署就是当你修改了文件代码,不用重新去启动服务器,而你只要重新build一下当前项目就可以重新编译了.而这就是热部署. 其实springboot热部署就是通过一 ...
随机推荐
- Docker部署网心云-挣点电费
网心云 是CDN业务的一种,容器魔方 是网心云的容器安装产品,其安装也很简单. 1.启动容器--一行命令 docker run -d --name watchtower --restart alway ...
- HCIP-ICT实战进阶03-OSPF高级特性
HCIP-ICT实战进阶03-OSPF高级特性 1 ospf的快速收敛 ospf快速收敛是为了提高路由的手来你熟读而做的扩展特性, 包括PRC(Partial Route Calculation, 部 ...
- postman收藏 -大佬玩法。
请求顺序: https://www.cnblogs.com/superhin/p/11454832.html 在Postman脚本中发送请求(pm.sendRequest) : https:// ...
- 关于Centos7防火墙、端口、进程、开机自启、服务启动的常用命令
一.防火墙相关命令 1.查看防火墙状态 : systemctl status firewalld.service 注:active是绿的running表示防火墙开启 2.关闭防火墙 :systemct ...
- C++入门之unordered_map
1.介绍 unordered_map是c++语言STL库中一个比较重要的容器,不能自动排序,这一容器是根据哈希表这一数据结构设计而成的,能够极大地提升数据搜索.插入和删除操作的时间效率. 2.头文 ...
- LeetCode系列之 (JavaScript) => 88. 合并两个有序数组
题目描述: [Leetcode 题目链接]:88. 合并两个有序数组 - 力扣(LeetCode) (leetcode-cn.com) 解题思路分析: 在nums1中找到nums2 插入的位置,然后在 ...
- 安装navicat,解决No All Pattern Found! File Already Patched?
话不多说,直接上步骤和截图! 第一步:安装包和破解工具我存到了自己的网盘中,下面是地址和提取码 链接: https://pan.baidu.com/s/1KTTV3__51kKxL3jkzW5O5A ...
- 等级保护2.0 三级-Linux 测评指导书
等级保护2.0 三级-Linux 测评指导书 1.1安全计算环境 1.1.1身份鉴别 1.1.2访问控制 1.1.4入侵防范 1.1.5恶意代码防范 ...
- 在 Linux 上使用《算法》第4版官网中的 algs4.jar 包
使用<算法>第4版( Algorithms Fourth Edition ) 中的 algs4.jar 包 下载 algs4.jar 官网网址: https://algs4.cs.prin ...
- IDEA 2018.3.*本地启动tomcat项目无法设置Application context localhost 404
记录一个开发中遇到的坑,网上找了好久才找到一个能解决的办法,特此转载一下. 旧版的idea启动web项目,在tomcat配置环节,有设置Application content的功能.我们可以设置成&q ...