Rancher+Jenkins+git实现项目快速发版

Rancher+Jenkins+docker+git实现项目快速发版

平时我们每次代码更新之后很多时候需要对服务器进行发版,来测试在生产环境的运行情况,现在一般使用的是docker镜像的形式,怎么方便怎么来嘛,不过一般项目发版的话会经历到以下几个步骤:
idea上进行打包--------docker打包成镜像---------镜像上传到镜像仓库-------服务器从镜像仓库中拉取镜像-------运行镜像
看起来不怎么麻烦,如果项目多的话每次发版都超级浪费时间
为了方便,这里就介绍一下怎么利用rancher和jenkins实现自动发版,到时候只要点击一个按钮就能完成上面的所有流程操作了
备注:(我这边是快速过一下流程,有些具体的环境搭建需要自己去查找)

环境搭建

1.服务器配置jenkins

网上有很多的教程,这边推荐一个老师的教程文档,可以按照来配置jenkins:https://www.it235.com/%E5%AE%9E%E7%94%A8%E5%B7%A5%E5%85%B7/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/jenkins.html#%E5%B8%B8%E7%94%A8%E6%8F%92%E4%BB%B6%E5%AE%89%E8%A3%85
配置好之后显示当前界面即可:
在这里插入图片描述

2.配置rancher

这里按照rancher的话是用到服务器docker镜像来安装配置的,我这边使用的是v2.5.5版本的,也是依据公司的版本来搭建的,这个你可以随意选择2.x以上的,具体docker如何拉取镜像和运行镜像之类的就不仔细介绍了
在这里插入图片描述进入到rancher后搭建集群,你可以选择自己服务器来进行搭建集群,不过相对于来说内存会比较大,我这边是直接拿公司的来用了,你也可以选择阿里云,腾讯云之类的那些,不过需要花钱(穷)。
成功搭建之后如下图所示:
在这里插入图片描述具体的搭建教程在网上找。

3.配置镜像仓库

镜像仓库的话可以选择自己搭建harbor,不过我为了节省时间快速搭建,就直接在阿里云上面创了一个镜像仓库,反正也是免费

在这里插入图片描述创建好之后阿里云上面有镜像的操作说明,你根据上面的操作指引就能使用啦
在这里插入图片描述具体申报创建请自行查找

2. 具体实现流程

1.创建项目

这里以一个demo所示,项目结构如下:
在这里插入图片描述就只有一个方法,当前项目要与gitee上面匹配,用来提交代码

在这里插入图片描述上传代码到git

自行查看是否能进行正常的更新操作,idea正常push上去的话说明没有问题,不一定要用gitee,也可以使用github等代码管理工具

2.配置jenkins

1.进入到全局工具配置,搭建jdk和maven

jdk在这里插入图片描述

这里的jdk和maven我使用自动安装的(插件管理记得安装==maven,git,ssh)==一定要用到的。
2.配置凭据,需要配置git的和服务器的,用的是当前的账号和密码,确认无误
在这里插入图片描述3.创建一个maven项目
在这里插入图片描述配置源码管理,复制刚刚项目的git地址到url上面去,添加凭据以及指定分支,正常连接的情况下不会显示任何红色字体的提示:
在这里插入图片描述
构建环境,这里需要连接到远程服务器中运行脚本

整个jenkins的原理就是从git上面把代码打包成jar包拉到服务器中去,再到服务器中运行shell脚本来使jar包打包成镜像,推到镜像仓库中去
在这里插入图片描述shell脚本如下:这里有个提醒,不要在windows上面写完直接拉到服务器中去,会出现编码的问题,非常的坑,最好在服务器中创建shell脚本
备注都写在上面了

#!/bin/bash
#删除旧版本的jar包
rm -f /root/docker/jenkins-demo/*.jar
#把jenkins从git上面拉下来的jar包复制到指定文件夹里面,文件夹后预先修改好docker file文件
cp -a /root/.jenkins/workspace/baiyaofeng/target/*.jar  /root/docker/jenkins-demo/
#吧复制过来的jar包改成dockerfile文件所对应的名称,不然不能进行打包
mv /root/docker/jenkins-demo/jenkins-demo-0.0.1-SNAPSHOT.jar  /root/docker/jenkins-demo/jenkins-demo.jar
#进入到要打包成镜像的文件夹
cd  /root/docker/jenkins-demo
#删除之前已经存在的同名镜像
docker rmi --force $(docker images | grep byf | awk '{print $3}')
#打成镜像
docker build  -t  jenkins-demo.jar .
#打标签,推上镜像仓库
docker tag  jenkins-demo.jar registry.cn-shenzhen.aliyuncs.com/byf1/byf:jenkins-demo.jar
docker push  registry.cn-shenzhen.aliyuncs.com/byf1/byf:jenkins-demo.jar

备注:不能直接从windows写好shell脚本上传到服务器中,会出现编码问题

4.jenkins构建任务
直接点击配置好的项目,进行立即构建,查看控制台看看是否构建成功
在这里插入图片描述
正常无误后可以在镜像仓库中查看到当前的镜像已经上传上来了
在这里插入图片描述如上所示

3.rancher上运行镜像

rancher配置工作负载,如下所示,docker镜像填当前镜像仓库的pull命令,可以参照我这个来,然后配置好暴露的端口号,必须大于30000端口
在这里插入图片描述点击启动,查看到运行成功后尝试访问在这里插入图片描述能正常访问说明已经搭建成功了,可以查看下服务器docker镜像是否也同时的运行,一切正常就说明流程走完了。
然后每次上传完代码到git上面去之后,直接在jenkins去构建一下项目,再去rancher上面对刚刚运行的工作负载进行升级
在这里插入图片描述即可自动替换到最新的代码,发版到服务器。
配置还是挺复杂的,需要自己去摸索,大概流程如上所示这些。后续就不用再重新配置了,点两下就能发版,岂不乐哉

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值