Jenkins(5)容器化部署 及 Jenkins集群配置

容器化部署

运用docker的话,主要是通过三种方式

通过外挂目录实现

这种方式适用于团队人数不多,项目不大的情况下

在服务器里面整一个docker镜像,在docker镜像里面内置了jdk,这里面没有运行的jar包,正在运行的jar包是在宿主主机的某一个目录里面

将宿主主机里面的目录与docker容器相互关联,当访问docker的某一个目录的时候,会映射到宿主主机对应的目录

如果想停机更新一下的话,就将宿主主机对应的目录清理一下,重启一下docker容器即可
在这里插入图片描述

将jar包直接打包到镜像里面

该方式更加时候云原生的环境

服务器上面有一个docker容器,通过Jenkins推送jar包和dockerfile,dockerfile里面配置好了如何去生成一个镜像出来,当服务器接收到这两个文件后,执行一次build,创建出一个新的镜像,使用这个新的镜像去生成一个容器
在这里插入图片描述

生成新镜像,推送到docker私服中

服务器里面有docker和另一个服务器里面存放的docker私服(如Harbor私服)

docker的服务器接收到dockerfile和jar包,生成新的镜像,这个镜像直接推送到私服(Harbor)里面,过后通过k8s集群从私服里面去拉取这个镜像,k8s里面也是需要docker环境,在这里拉取到镜像后,去生成多个容器去运行

在这里插入图片描述

实现:jar包打包到镜像里面

  1. 准备一台测试服务器的 docker环境

  2. 准备支持jdk的镜像,dockerfile文件如下:

    FROM openjdk:11
    EXPOSE 8080
    WORKDIR /root
    ADD jarfile/demo*.jar /root/app.jar
    ENTRYPOINT ["java","-jar","/root/app.jar"]
    
    
  3. 将jar包打包到镜像里面

     docker build -t demo .
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实现:docker外挂目录

docker run -d -p 8080:8080 --name demo-out -v /root/jarfile/demo-1-0.0.1-SNAPSHOT.jar:/app.jar openjdk:11 java -jar app.jar

在这里插入图片描述

实现:外挂目录完成自动化部署

在Jenkins里面去自动化的部署,在Jenkins构建之前需要去清理一下文件、将现在正在运行的容器给删除掉,后面才是构建,最后才是之前使用的命令

配置Jenkins:

  1. 将对应目录下的文件给清理掉(这里是root目录),并将容器给停掉
    在这里插入图片描述

  2. 构建之前的操作结束后,现在去执行build的操作,build操作配置没有问题的话,便去配置post steps配置

  3. 在运行之前,在服务器上面先去将对应的镜像给创建完,在Jenkins里面便直接去运行这个镜像(上面我们已经构建了对应的镜像了)
    在这里插入图片描述

实现:jar包打包到镜像运行

配置Jenkins:

  1. 清理工作:将旧的dockerfile清理、jar包清理、镜像容器清理
    在这里插入图片描述

  2. 构建:在项目里面新建一个目录并配置dockerfile文件内容,将其和代码一起提交到git上面去
    在这里插入图片描述

  3. 重新build镜像(docker):
    将dockerfile文件发送,并去掉前缀,并发送到root目录里面
    在这里插入图片描述
    开始执行build操作:打包镜像,run镜像
    在这里插入图片描述

Jenkins集群

在虚拟机里面设置了三台Jenkins服务器地址,以这三台去创建Jenkins集群,去添加两个Jenkins节点

配置节点:进入配置页面
在这里插入图片描述
进去后,会进入下面的界面
在这里插入图片描述
点击新建节点
在这里插入图片描述
进行如下配置
在这里插入图片描述

输入完名字后,点击create,会出现更加详细的配置
在这里插入图片描述
这里有两种用法,如下:

  1. 第一种:是Jenkins自己去选择用不用它,只能是尽可能去使用它,这个配置是包含第二种指定的情况的
  2. 第二种:匹配到这个标签后才会去用它
    在这里插入图片描述
    这里选择的是第一种方式
    在这里插入图片描述

在这里去添加凭证等内容:即Jenkins的服务器地址等内容
在这里插入图片描述

点击保存后,界面便成如下的了
在这里插入图片描述

如果配置没有问题的话,过了一会儿便会出现下面的显示
在这里插入图片描述

配置第二台Jenkins,与上面的配置差不多

在这里插入图片描述
选择如果去对任务进行构建的话,还是只能构建一个,之前的构建成功后,后面的才能继续构建,还没有实现并发的一种效果

如果想要实现负载的效果的话,还是需要去配置一下任务的一些配置

进入配置后,会发现多了一个选项,如下
在这里插入图片描述
将上面的勾选上,以后在运行的时候便会自动的去分配当前的构建任务在哪一个节点上运行
在这里插入图片描述
现在去进行构建的话,会发现会在多个节点运行
在这里插入图片描述
在下面可以去配置并发构建的个数(在节点的配置里面)
在这里插入图片描述

在任务配置里面,也可以去限制项目运行的节点,如下:在02和03去运行
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

?abc!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值