当前位置: 代码网 > it编程>编程语言>Java > 2024最新 Jenkins + Docker实战教程(七)- Jenkins实现远程传输和自动部署

2024最新 Jenkins + Docker实战教程(七)- Jenkins实现远程传输和自动部署

2024年07月28日 Java 我要评论
在之前的章节中,博主带着大家都是基于一台Jenkins服务器多个容器的形式实现的自动构建部署,当然这个也已经满足了大多数公司内网测试的要求,而有时候公司的应用服务器和Jenkins服务器是分开的,那么就需要实现通过Jenkins服务器通过SSH远程连接到应用服务器,上传部署文件并部署。通过使用`Jenkins`的`Publish Over SSH`插件,可以轻松实现将项目部署到远程服务器,并在远程服务器上执行部署脚本。

在这里插入图片描述

2024最新 jenkins + docker实战教程(七)- jenkins实现远程传输和自动部署

前言

在之前的章节中,博主带着大家都是基于一台jenkins服务器多个容器的形式实现的自动构建部署,当然这个也已经满足了大多数公司内网测试的要求,而有时候公司的应用服务器和jenkins服务器是分开的,那么就需要实现通过jenkins服务器通过ssh远程连接到应用服务器,上传部署文件并部署。

本章节就跟着博主一起来实现这个需求。在此之前请确认你已经构建了应用服务器且安装好了docker环境,如博主的两台虚拟机

在这里插入图片描述

publish over ssh 介绍

publish over ssh 是 jenkins 的一个插件,它提供了通过ssh协议与远程服务器进行文件传输和执行命令的功能。【插件地址】

publish over ssh 特性

开始配置publish over ssh 插件

在第二章中 :2024最新 jenkins + docker实战教程(二)- jenkins相关配置 我们配安装了publish over ssh插件,今天我们就来学习如何使用这个插件

通过 「主页」->「系统管理」->「系统配置」 找到publish over ssh 配置项目
在这里插入图片描述
新增 ssh server

在这里插入图片描述
新建一个任务 jenkins-demo-ssh 还是采用第四章节的项目,这里就不赘述了。

主要就是 post steps 有所改动 ,add post-build step -> send files or execute commands over ssh
在这里插入图片描述
开始配置需要传输的文件以及目标服务器存放的目录

在这里插入图片描述

完成配置保存,我们开始执行 立即构建
在这里插入图片描述
登陆目标服务器 检查文件是否存在
在这里插入图片描述
ok 到了这一步我们已经实现了将jar文件和dockerfile文件传输,接下来我们设置目标服务器执行脚本让项目跑起来

编写目标服务器sell脚本

在我们刚才新配置的ssh server继续修改,找到 exec command
在这里插入图片描述
脚本如下:

# 进入目标服务器存放传输文件目录
cd /data/jenkins-demo-ssh
#构建镜像
docker build -t jenkins-demo .
# 使用docker ps和grep来检查容器是否存在
if docker ps -a | grep "my-jenkins-demo" > /dev/null; then
    echo "容器存在"
    #容器存在则停止并删除容器
    docker stop my-jenkins-demo
    docker rm my-jenkins-demo
else
    echo "容器不存在"
fi
#运行容器
docker run -d -p 9090:9090 --name my-jenkins-demo jenkins-demo

继续测试构建执行,观察控制台输出,显示 finished: success 我们登陆目标服务器查看镜像和容器是否都存在了

#查看镜像
docker images
repository     tag       image id       created          size
jenkins-demo   latest    924b3b68490a   11 minutes ago   672mb

#查看容器
docker ps
container id   image          command                  created          status          ports                                       names
8b836be4a639   jenkins-demo   "java -jar jenkins-d…"   13 minutes ago   up 13 minutes   0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   my-jenkins-demo

最后我们访问springboot项目进行测试 http://192.168.1.21:9090/hello-jenkins

结语

通过使用jenkinspublish over ssh插件,可以轻松实现将项目部署到远程服务器,并在远程服务器上执行部署脚本。本文详细介绍了插件的安装和配置步骤,以及使用一个demo项目来作为演示一步一步的带着大家在目标服务器实现自动部署。


在这里插入图片描述

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com