流程是代码提交到gitee,jenkins中点击构建,自动删除目标服务器之前运行的jar包、拉取代码、构建、将jar包传到目标服务器、运行jar包。
1.下载jenkins运行
java -jar jenkins.war --httpPort=8084
然后根据初始密码,创建账号,下载推荐插件、 maven插件、publish over ssh。
2.配置git
新建maven任务后配置任务
Linux安装git
yum install -y git
3.配置maven
下载maven传到服务器
解压
tar -zxvf apache-maven-3.8.6-bin.tar.gz
然后移动到usr下
mv apache-maven-3.8.6 /usr/local/maven
然后配置jenkins
然后配置项目
对应git上pom的位置
如果有项目名称还需要增加路径
4.配置构建后自动部署
配置远程服务器,就是代码运行的服务器
配置构建后执行的命令
构建完成后,会将jar包传到目标服务器,然后运行
//日志文件在root下 mylog.log
在jenkins本地的位置:
5.每次构建停止之前运行的项目
编写脚本
#! /bin/bash
#删除历史数据
rm -rf test01
appname=$1
#获取传入的参数
echo "arg:$1"
#获取正在运行的jar包pid
pid=`ps -ef | grep $1 | grep 'java -jar' | awk '{printf $2}'`
echo $pid
#如果pid为空,提示一下,否则,执行kill命令
if [ -z $pid ];
#使用-z 做空值判断
then
echo "$appname not started"
else
kill -9 $pid
echo "$appname stoping...."
check=`ps -ef | grep -w $pid | grep java`
if [ -z $check ];
then
echo "$appname pid:$pid is stop"
else
echo "$appname stop failed"
fi
fi
在windows编辑后,运行脚本会报文件或目录找不到
解决办法是:
vim filename,编辑文件,执行“: set ff=unix”,将文件设置为unix格式,然后执行“:wq”,保存退出。
配置jenkins构建前运行脚本
至此就可以提交代码,然后在jenkin点构建就行了。
6.每次提交代码自动构建
流程是gitee配置webhook,有代码提交时触发一个请求,jenkins收到请求会自动构建
下载插件 可以免登录jenkins
配置gitee webhook 这个请求路径在上面下载的插件详情中可以找到
这里配置本机地址不行,配置远程服务器地址的话应该就没问题了