Jenkins+Git+Maven自动化部署配置详解
作者:别团等shy哥发育 时间:2022-05-20 22:24:43
基本思路
服务器配置如下:
192.168.159.50 gitlab服务器(Gitlab,内存至少5个G,要不根本跑不动)
192.168.159.51 jenkins服务器(Jenkins-Server+Maven+JDK)
192.168.158.52 测试服务器(JDK)
1、jenkins安装maven依赖
2、git安装
git安装
这里先在jenkins这台机器上装个git
yum install -y git
3、Jenkins中新建任务
新建一个任务,这里选择构建一个maven项目
项目名称写first
3.1 git配置
输入项目地址(就是我们在自己gitlab服务器上的项目地址)
选择分支,看你的是master分支还是main分支
3.2 maven配置
这里写你jenkins服务器上的maven安装位置:我的是/usr/local/maven
3.3 pom.xml配置
代码仓库中pom.xml的位置
这里还要看你pom.xml文件的位置,如果不是直接暴露在仓库最外层,比如在demo目录下,那就要写成demo/pom.xml
3.4 build
点击构建按钮
查看控制台输出:
看到如下页面说明打包完成了。
Dashboard这里也可以看到成功了,并且显示出了曾经成功和失败的时间
去jenkins服务器上面查看是否打包成功,如下,可以看到target目录和jar包说明打包成功了
运行jar包测试一下
java -jar demo-0.0.1-SNAPSHOT.jar --server.port=8888
这个只是个测试项目,只有一个负责测试的Controller,结构大概如下
测试下简单的业务类,访问:http://192.168.159.51:8888/index/hello
简单业务类的测试也没有任何的问题。这样一个简单的自动化部署就完成了,但是我们还想自动把jar包传到测试服务器(192.168.159.52)上面执行,而不是我们去手动执行jar包。
4、自动化发布到测试服务器并自动执行(Test-server)
4.1 安装Publish Over SSH插件
先在jenkins服务器上安装个插件:Publish Over SSH
选中,点击Install without restart
4.2 修改Post Steps配置
1、由于还没有添加测试服务器,先去System Configuration中配置
2、在Configure System菜单里 往下拉,找到Publish over SSH
3、添加一台目标服务器:这里我的测试服务器IP是192.168.159.52
4、测试下链接是否正常,左下角显示Success说明连接没问题
5、再去看Post Steps中,选择Send files or execute commands over SSH
这里就可以看到我们刚才添加的testserver了,如下图所示。
6、发布到远程服务器的配置
这样让远程测试服务器上的jar包以后台进程方式启动
4.3 执行构建
查看控制台输出
查看jar包是否传到了测试服务器上,如下图。
查看测试服务器是否执行了启动jar包的脚本(脚本就是我们在Post Steps配置的那一行)
jps
可以看到,jar包已经被执行了。
验证业务类是否可访问,192.168.159.52:8888/index/hello
来源:https://blog.csdn.net/qq_43753724/article/details/128605182
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
springmvc处理模型数据ModelAndView过程详解
![](https://img.aspxhome.com/file/2023/5/104015_0s.png)
java equals函数用法详解
springboot整合mybatis实现简单的一对多级联查询功能
![](https://img.aspxhome.com/file/2023/5/72415_0s.png)
springBoot之如何获取接口请求数据和返回数据实现日志
SpringBoot中的Condition包下常用条件依赖注解案例介绍
RestTemplate自定义请求失败异常处理示例解析
![](https://img.aspxhome.com/file/2023/0/60700_0s.png)
Java毕业设计实战之教室预订管理系统的实现
![](https://img.aspxhome.com/file/2023/3/74873_0s.jpg)
Android常见控件使用详解
![](https://img.aspxhome.com/file/2023/6/91666_0s.jpg)
Java编程实现月食简单代码分享
![](https://img.aspxhome.com/file/2023/3/79943_0s.png)
java开发之MD5加密算法的实现
Java线程池的优点及池化技术的应用
![](https://img.aspxhome.com/file/2023/0/72290_0s.webp)
C#实现加密的几种方法介绍
Java实现二叉树的深度优先遍历和广度优先遍历算法示例
![](https://img.aspxhome.com/file/2023/7/84177_0s.jpg)
SpringBoot实现启动项目后立即执行的方法总结
spring循环注入异常问题的解决方案
java编程创建型设计模式单例模式的七种示例
![](https://img.aspxhome.com/file/2023/7/77387_0s.png)
java利用数组随机抽取幸运观众
![](https://img.aspxhome.com/file/2023/0/59400_0s.jpg)
Java最长公共子序列示例源码
Spring MVC 学习 之 - URL参数传递详解
数组实现Java 自定义Queue队列及应用操作
![](https://img.aspxhome.com/file/2023/0/60380_0s.png)