0
点赞
收藏
分享

微信扫一扫

springboot高级功能(十二)使用jenkins持续化集成springboot

_阿瑶 2022-03-11 阅读 41


1.安装

2.安装jdk

见​​https://www.jianshu.com/p/f000e05f3512​​

3.安装maven

4.配置jdk与maven

springboot高级功能(十二)使用jenkins持续化集成springboot_jar

springboot高级功能(十二)使用jenkins持续化集成springboot_java_02springboot高级功能(十二)使用jenkins持续化集成springboot_jar_03

*_HOME与环境变量一致

5.其他配置

修改ssh配置

springboot高级功能(十二)使用jenkins持续化集成springboot_jar包_04

配置远程地址 也就是运行项目服务器

springboot高级功能(十二)使用jenkins持续化集成springboot_jar_05

修改端口号

springboot高级功能(十二)使用jenkins持续化集成springboot_jar包_06

6.安装插件

安装Maven Integration,Publish Over SSH

springboot高级功能(十二)使用jenkins持续化集成springboot_jar包_07

springboot高级功能(十二)使用jenkins持续化集成springboot_jar_08

7.新建运行空间

springboot高级功能(十二)使用jenkins持续化集成springboot_java_09

springboot高级功能(十二)使用jenkins持续化集成springboot_jar_10

1处:为新建空间名称

2处:需要下载前文的maven插件

springboot高级功能(十二)使用jenkins持续化集成springboot_jar_11

springboot高级功能(十二)使用jenkins持续化集成springboot_jar_12

只保留3个jar包

开始填写配置

1:项目描述

2:项目的svn路径

springboot高级功能(十二)使用jenkins持续化集成springboot_jar包_13

3:svn账号密码

springboot高级功能(十二)使用jenkins持续化集成springboot_jar_14

每次提交都部署

springboot高级功能(十二)使用jenkins持续化集成springboot_java_15

此处添加日志输出

springboot高级功能(十二)使用jenkins持续化集成springboot_java_16

1处:前面配置运行文件服务器的配置

2处:jenkins服务器本地发布jar包的路径 + jar包名称 可以填写 target/*.jar

3处:打包路径 可以填写 target

4处:ssh 发送jar包的路径

5处:ssh的命令

部署原理是 jenkin把代码拉到本地 然后打成jar包 到2位置处 然后在jar包发到服务器4的路径下 然后执行5处脚本

5处的命令

cd /usr/local/*
./*.sh stop
./*.sh start

脚本 

#替换这里jar包的路径,其它代码无需更改
APP_NAME=/usr/local/jar/*.jar
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh item.sh [start|stop|restart|status]"
exit 1
}

#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}

#启动方法
start(){
is_exist
if [ $? -eq 0 ]; then
echo "${APP_NAME} is already running. pid=${pid}"
else
nohup /usr/local/jdk/jdk1.8.0_231/bin/java -jar ${APP_NAME} > earlywarning.out 2>&1 &
echo "
===============
程序成功启动!
==============="
fi
}

#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
echo "
==============
程序成功关闭!
=============="
else
echo "${APP_NAME} is not running"
fi
}

#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}

#重启
restart(){
stop
sleep 5
start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac

这里有个坑

这里需要填写jdk绝对路径

网上说的什么杀掉进程都不对

nohup  /usr/local/jdk/jdk1.8.0_231/bin/java -jar ${APP_NAME} > earlywarning.out 2>&1 &

springboot高级功能(十二)使用jenkins持续化集成springboot_jar包_17

根据以上填写就可以

springboot高级功能(十二)使用jenkins持续化集成springboot_jar包_18

在成功情况下才部署

踩过的坑 1:

Jenkins 启动一直显示 Jenkins正在启动,请稍后...

需要你进入jenkins的工作目录,打开

hudson.model.UpdateCenter.xml



http://updates.jenkins-ci.org/update-center.json

改成

http://mirror.xmission.com/jenkins/updates/update-center.json

jenkins后台启动方式

见:​​https://www.jianshu.com/p/264803b1360d​​

nohup java -jar jenkins.war

Jenkins关闭和重启实现方式.

关闭Jenkins
http://localhost:8080/jenkins/exit
重启Jenkies
http://localhost:8080/jenkins/restart
重新加载配置信息
http://localhost:8080/jenkins/reload

解决nohup: 忽略输入并把输出追加到"nohup.out"或者nohup: 忽略输入重定向错误到标准输出端

见:​​http://www.yayihouse.com/yayishuwu/chapter/1656​​

执行nohup java -jar do_iptable.jar & 运行jar会提示:nohup: 忽略输入并把输出追加到"nohup.out"

执行nohup java -jar do_iptable.jar >/dev/null & 运行jar会提示:nohup: 忽略输入重定向错误到标准输出端

修改运行方式为nohup java -jar do_iptable.jar >/dev/null 2>&1 &即可。

这里有个坑:当自定义start版本号不改变但是内容改变 jenkin不会从新拉取jar包

需要定时执行配置

springboot高级功能(十二)使用jenkins持续化集成springboot_jar_19


举报

相关推荐

0 条评论