一般需要三台服务器
第一台服务器安装gogs
安装gogs(git客户端),并提交springboot代码
第二台服务器安装jenkins
安装jdk(jenkins是java写的,依赖jdk)
安装maven(用于打包),修改setting.xml里面的仓库位置,并添加阿里云下载地址,最好将本地的仓库上传到服务器,可以节省下载依赖的时间
安装jenkins,插件除了默认安装的再需要安装maven插件
全局配置:配置jdk和maven,git用默认的(jenkins默认安装git插件)
jenkins新建item
新建maven项目
启动脚本start.sh
内容如下:
#!/bin/sh
#Copy jar to target path
BUILD_ID=DONTKILLME #后台执行
pid=$(ps -ef|grep demo-0.0.1-SNAPSHOT.jar|grep -v grep | awk '{print $2}')
#copy jar 到启动目录 /var/lib/jenkins/workspace/为jenkins的工作目录,springboot-test为jenkins新建的item的name
cp -r /var/lib/jenkins/workspace/springboot-test/target/demo-0.0.1-SNAPSHOT.jar /home/jar/demo
# 关闭已经启动的jar进程
function stop(){
if [ -n "$pid" ]
then
echo "pid进程 :$pid"
kill -9 $pid
else
echo "进程没有启动"
fi
}
stop
sleep 5s
#发布jar服务
function start(){
cd /home/jar/demo
nohup java -jar demo-0.0.1-SNAPSHOT.jar --server.port=8082 >demo.log 2>&1 &
}
start
需要新建文件 /home/sh/start.sh(脚本)
新建目录 /home/jar/demo(jar包copy的位置)
权限不足的问题
vim /etc/sysconfig/jenkins
修改JENKINS_USER="jenkins"为JENKINS_USER=“root”
自己只用了两台服务器(jenkins和jar在同一台服务器),如果用三台服务器,第三台服务器用于存放jar包,并且需要在jenkins全局配置ssh
(详细的内容参考pdf文件)