前言:上一篇介绍额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应用部署实践的更多相关文章

  1. SpringBoot热部署插件

    1.配置在 maven工程中的pom.xml文件中 2.SpringBoot框架中提供的一个热部署插件,利用该热部署插件,我们可以在修改代码后不用重启应用,大大提高开发效率:

  2. SpringBoot(三):SpringBoot热部署插件

    SpringBoot热部署插件 在实际开发中,我们修改了某些代码逻辑功能或页面都需要重启应用,这无形中降低了开发效率!热部署是指当我们修改代码后,服务能自动启动加载新修改的内容,这样大大提高了我们开发 ...

  3. linux小白成长之路10————SpringBoot项目部署进阶

    [内容指引] war包部署: jar包部署: 基于Docker云部署. 一.war包部署 通过"云开发"平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的 ...

  4. SpringBoot(六):springboot热部署

    在j2ee项目开发中,热部署插件是JRebel.JRebel的使用为开发人员带来了极大的帮助,且挺高了开发便捷.而在SpringBoot开发生态环境中,SpringBoot热部署常用插件是:sprin ...

  5. idea配置SpringBoot热部署之自动Build

    一.pom.xml文件导入所需依赖文件 SpringBoot热部署插件 <dependency> <groupId>org.springframework.boot</g ...

  6. SpringBoot热部署的两种方式

    SpringBoot热部署方式一共有两种,分别使用两种不同的依赖 SpringBoot 1.3后才拥有SpringBoot devtools热部署 ①:spring-boot-devtools   ② ...

  7. docker 中部署一个springBoot项目

    docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml <?xml version="1.0" encodi ...

  8. SpringBoot打包部署简单说明

    SpringBoot项目打包部署 一.jar包方式 这种使用SpringBoot内嵌的Tomcat进行部署 打包方式默认jar,所以下面加也行,不加也行 <packaging>war< ...

  9. SpringBoot"热"部署解决方案

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 SpringBoot热部署两种方式 1.SpringLoader 插件 ​ 缺点: Java 代码做部署处理.但是对页面无能为力. 2.DevToo ...

  10. springboot热部署设置

    springboot提供了热部署,所谓热部署就是当你修改了文件代码,不用重新去启动服务器,而你只要重新build一下当前项目就可以重新编译了.而这就是热部署. 其实springboot热部署就是通过一 ...

随机推荐

  1. 「SOL」E-Lite (Ural Championship 2013)

    为什么这数据能水到可以枚举角度 ac 啊 # 题面 给你 \(n\) 个平面向量 \((x_i,y_i)\),对于每个 \(k=1\sim n\),求「从给出的 \(n\) 个向量中不重复地选择 \( ...

  2. python菜鸟学习: 1.用户登录输入输出

    # -*-coding: utf-8 -*-name = 'liyuzhoupan'password = '123'def login_test(): count = 0 while count &l ...

  3. MySQL Debug大全

    nested exception is java.sql.SQLException: com.mysql.jdbc.Driver 下面还有个class not found 用的8的数据库connect ...

  4. AdaptSegeNet 代码分析

    先G后D 训练 G: --S:pred1, pred2 = model(images) :  loss_seg1 = loss_calc(pred1, labels) :   loss.backwar ...

  5. vue后台管理系统——数据统计模块

    电商后台管理系统的功能--数据统计模块 1. 数据统计概述 数据统计模块主要用于统计电商平台运营过程的中的各种统计数据,并通过直观的可视化方式展示出来,方便相关运营和管理人员查看. 2. 用户来源数据 ...

  6. 服务器性能测试工具ab

    ab指令 ab -n 1000 -c 20 http://127.0.0.1/

  7. element-ui的确认消息弹框校验;$prompt校验

    this.$prompt('请输入您的姓名', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', inputPattern: /^.+$ ...

  8. LeetCode 刷题感想之动态规划

    在 LeetCode/剑指Offer 上刷了500题左右了,应该写一篇文章总结一下自己的感想.因为我自己是测试,所以从测试角度来写感受吧. 先说动态规划. 什么是动态规划?是经典算法思想之一,是自底向 ...

  9. PLC入门笔记5

    定时器指令及其应用 定时器指令介绍 设备启动预热时间.化学反应时间.电机星三角转换时间? 我们需要定时器.PLC计时器指令由时间续电器演变而来. 定时器本质是一个输出指令. 主要功能是,当输入端有能流 ...

  10. Day1.无敌难受且成功

    Markdown学习 标题 字体 ctrl+b.l.u.k加粗.斜体.下划线.超链接 引用 大于号+空格 分割线 三个*** ###都 图片 !+[]+() 英文输入法的符号 输入的图片路径可本地也要 ...