目录
4、其他jenkins部署方式(使用插件publish over ssh)
使用Jenkins部署Jar包
1、在Jenkins构建Jar包
丢弃旧的构建 保存构建天数=3 保持构建的最大个数=10
构建无数次,只保留最近10次,并且保存3天,节省磁盘空间!
这里先构建一下
2、把项目部署到jenkins本地
让当前包,在jenkins上运行:
add pre-build step 和add post-build step 区别?
add pre-build step 在项目构建之前执行什么 (执行脚本等操作)
add post-build step 在项目构建之后执行什么 (执行脚本等操作)
java -jar /root/.jenkins/workspace/shared_battery/target/shared_battery-0.0.1-SNAPSHOT.jar
再次构建运行,测试:可以正常访问
3、部署到远程服务器上(不是Jenkins所在的服务器)
重新修改脚本
ssh-keygen 回车3次
ssh-copy-id 192.168.37.128 远程服务器ip 回车 输入正确的密码
远程服务器准备工作
#创建工作目录
mkdir -p /usr/workspace/sb
#编写脚本,运行jar用的
vim /usr/workspace/app-start.sh
#!/bin/bash
#打印提示
echo "Stop app.jar Process : app.jar"
#获取指定项目app.jar的运行pid
pid=`ps -ef |grep java|grep app.jar | grep -v grep |awk '{print $2}'`
echo "old app.jar pid:$pid"
#pid存在则kill -n 判断pid是否为null
if [ -n "$pid" ]
then
kill -9 $pid
fi
#打印提示
echo 'Start the program : app.jar'
#给项目jar 777权限
#进入项目所在目录,在jenkins服务器上配置的工作目录
cd /usr/workspace/sb
#修改权限
chmod 777 /usr/workspace/sb/app.jar
#打印提示
echo '-------Starting-------'
#运行项目 (指定时区 指定字符编码 指定输出日志)
source /etc/profile && java -jar app.jar >app.log 2>&1 &
#/usr/java/jdk1.8.0_15/bin/java -jar app.jar >app.log 2>&1 &
echo 'jar启动完成'
#给脚本添加可执行权限
chmod +x /usr/workspace/app-start.sh
运行,测试,没一点问题
4、其他jenkins部署方式(使用插件publish over ssh)
1、安装插件
2、配置system
3、jenkins配置
#!/bin/bash
#打印提示
echo "Stop app.jar Process : app.jar"
#获取指定项目app.jar的运行pid
pid=`ps -ef |grep java|grep shared_battery-0.0.1-SNAPSHOT.jar | grep -v grep |awk '{print $2}'`
echo "old app.jar pid:$pid"
#删除原来jar
#rm -rf /root/data1/springboot_restful_demo_20230717-0.0.1-SNAPSHOT.jar
#pid存在则kill -n 判断pid是否为null
if [ -n "$pid" ]
then
kill -9 $pid
fi
#打印提示
echo 'Start the program : app.jar'
#给项目jar 777权限
#进入项目所在目录,在jenkins服务器上配置的工作目录
cd /root/data
#修改权限
chmod 777 /root/data/shared_battery-0.0.1-SNAPSHOT.jar
echo '-------Starting-------'
#运行项目 (指定时区 指定字符编码 指定输出日志)
source /etc/profile && java -jar shared_battery-0.0.1-SNAPSHOT.jar >app.log 2>&1 &
echo 'jar启动完成'
#给脚本添加可执行权限
chmod +x /usr/workspace/app-start-1.sh
运行测试