1.jenkins服务器上已经部署了jdk、maven、git环境
参考:https://blog.csdn.net/ApexPredator/article/details/129693571?spm=1001.2014.3001.5502
2.配置jenkins的jdk、maven、git环境
查看/etc/profile环境变量配置文件中jdk和maven的文件目录
cat /etc/profile
![](https://i-blog.csdnimg.cn/blog_migrate/daa6dc7bbe23c18e560b1859bdd8d57a.png)
查询git服务的目录
find / -name git
![](https://i-blog.csdnimg.cn/blog_migrate/9f42c6fd2285cbe55952aed2fa9df687.png)
配置jenkins jdk环境
![](https://i-blog.csdnimg.cn/blog_migrate/3cd908e9722241e7b07bea3aded7f1a2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f9008152ab986b6d3da6c249b8e2c137.png)
![](https://i-blog.csdnimg.cn/blog_migrate/70ac8e83f5afff045af8f771e8444139.png)
配置jenkins git环境
![](https://i-blog.csdnimg.cn/blog_migrate/27627c657626ef1d72eaddd6f62a11de.png)
配置jenkins mave环境
![](https://i-blog.csdnimg.cn/blog_migrate/800f612122f08952e75cb83deca74218.png)
3.创建maven项目
jenkins创建maven项目
![](https://i-blog.csdnimg.cn/blog_migrate/fa3cd32cb009eb1ee5c454308dea73c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/27c4e8c4f92e205275f31978c7236186.png)
4.配置maven项目构建过程
配置参数化构建
![](https://i-blog.csdnimg.cn/blog_migrate/aff21391d7aa05946a669f8243852ca2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75c4898ac28a5ad1dd494fb419474f86.png)
配置源码管理
![](https://i-blog.csdnimg.cn/blog_migrate/b9b340238e6f733550823246912a139b.png)
构建触发器、构建环境、pre steps都保持默认配置不用动即可
![](https://i-blog.csdnimg.cn/blog_migrate/3b15529744347f909f966d513524a030.png)
配置项目构建打包
![](https://i-blog.csdnimg.cn/blog_migrate/4512c2829dd10ecac0df9982e986a921.png)
配置构建后的操作
![](https://i-blog.csdnimg.cn/blog_migrate/a4fdd505cb298f6916ca4018bf887476.png)
5.配置应用服务器发布脚本(在应用服务器上操作)
创建存放jar包的目录
mkdir /etc/jar
在jar包目录下编写删除jar包脚本
vi /etc/jar/del.sh
#!/bin/bash
A=`netstat -tlpn |grep java|grep :8761|wc -l` #8761是jar包服务调用的端口
B=`netstat -tlpn |grep java|grep :8761|awk '{print $6}'|awk -F '/' '{print $1}'` #查找使用8761端口的java服务的pid进程号
if [$ A == 0 ]; then #判断java服务是否存活
rm -rf /etc/jar/*.jar #删除老的jar包
else
kill -9 $B #将对应pid进程号的java服务干掉
rm -rf /etc/jar/*.jar
fi
在jar包目录下编写启动jar包脚本
vi /etc/jar/start.jar
#!/bin/bash
nohup java -jar /etc/jar/*.jar &>/etc/jar/java.log& #启动jar包服务,并将输出写入到Java.log文件中,前面的&表示且,后面的&表示后台执行
A=`netstat -tlpn |grep java|grep :8761|wc -l` #8761是jar包服务调用的端口
if [ $A == 0 ]; then #判断jar包服务是否成功启动
echo '部署失败'
else
echo '部署成功'
fi
脚本增加执行权限
chmod +x /etc/jar/del.sh
chmod +x /etc/jar/start.sh