美文网首页
Jenkins与Rainbond对接部署应用

Jenkins与Rainbond对接部署应用

作者: 好雨Rainbond | 来源:发表于2019-08-16 14:20 被阅读0次

    对接Jenkins基于Git仓库与镜像构建的服务进行自动CI、CD实践

    概述

    如果您现在已经有了自己的CI工作流程,并且想在云帮中持续部署您的应用,那么本文将引导您将自己的应用部署到云帮并设置持续部署。考虑到Jenkins是目前主流的持续集成工具,并且它在源码测试和Pipline方面已经做得非常成熟,所以我们提供了针对Jenkins的集成方案。一般情况下,我们的源码在经Jenkins的构建和集成后,产出的应用可能是源码格式或镜像。 Rainbond支持应用持续部署,下面我们来分别说明一下jenkins与rainbond对接如何把源码和镜像格式应用部署到云帮。

    构建自己的持续部署流程

    在云帮的应用市场中有丰富的应用可以安装使用,您可以使用这些应用构建自己的工作流。我们使用GitLab或GitHub开源代码仓库,Jenkins集成工具与Rainbond对接实现CI、CD。

    源码

    我们以Spring Boot demo为例,https://github.com/ITboy6/spring-boot-mysql-demo 对接的点是jenkins进行代码检测(可使用Sonar插件来实现),构建完之后把打包好的jar包和所需文件放在target目录下,rainbond构建时只需要拉target一个目录,进行源码自动部署。

    1. Jenkins配置

    • Jenkins安装所需插件:系统管理 --> 插件管理 --> 安装需要用到的相关插件

    • Jenkins配置测试工程: 新建任务

    image image image image image

    这一步是把所需文件及打包好的jar包都放到target目录下,并push到代码仓库。使用API触发rainbond自动构建。

    2.Rainbond配置

    • 需要有一个创建好的源码应用

    • 如何使用API触发自动构建

    通过开启API自动构建返回的url,POST方法调用API,携带秘钥即可触发API自动构建,秘钥可以自定义设置。

    image image

    API使用:

    <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="" cid="n31" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; margin-top: 0px; margin-bottom: 20px; background-color: rgb(51, 51, 51); font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; white-space: normal; position: relative !important; padding: 10px 10px 10px 30px; width: inherit; background-position: initial initial; background-repeat: initial initial;">curl -d '{"secret_key":"<秘钥>"}' -H "Content-type: application/json" -X POST <API地址></pre>

    image image
    • Jenkins构建完成后,会产出镜像并且会push到DockerHub

    • 在云帮中创建一个镜像格式应用

    • 在云帮中生成触发镜像仓库的Webhook,将该webhook添加到DockerHub中,使DockerHuab每次更新镜像完成后调用该API

    镜像

    在Jenkins构建流程中添加即可

    相关文章

      网友评论

          本文标题:Jenkins与Rainbond对接部署应用

          本文链接:https://www.haomeiwen.com/subject/bonfsctx.html