说明:部署springboot项目的jar
一、准备工作:
1.安装JDK:安装JDK 2.安装Tomcat:安装Tomcal 3.安装maven:安装maven 4.安装svn:安装svn 5.安装git: 安装git 6.安装jenkins: 安装jenkins
二、插件管理(Manage Plugins)
1.Publish over SSH**(远程部署时需要,和Jenkins不在同一个服务器上时)**
3.安装完重启
三、系统配置(Configure System)
1.Publish over SSH (注:如果是同一台服务器可以不用配置)
注:Remote Directory,后面会有用处说明,下面只会说Remote Directory四、全局工具配置(Global Tool Configuration)
1.JDK配置(红框内是jdk的安装目录)
2.Maven配置(红框内是maven 的安装目录)
3.Git配置,如果不使用 Git,删除即可
4.点击保存,自动退出五、创建任务
1.新建任务
如果没有构建一个maven项目,那是因为没有安装maven插件,去插件管理中安装Maven Integration
2.配置项目
1)General
勾选丢弃旧的构建,选择是否备份被替换的旧包。我这里选择备份最近的10个。描述可以不填
2)源码管理
①.( Subversion)
Repository URL :svn版本库地址
Credentials :svn用户名/密码。如果没有添加就添加一个
②.( Git)
Repository URL :项目git地址
Credentials :git用户名/密码。如果没有添加就添加一个
指定分支(为空时代表any):指定git项目的分支
3)构建触发器
*/10 * * * *
**说明:**每10分钟检查一次源码变化,如果有更新才build。也可以自己去定义定时
4)构建环境
5)Pre Steps(此处无需配置)
6)Build
clean install -Dmaven.test.skip=true -Ptest
7)Post Steps
打开Execute shell,添加下面的命令
#!/bin/bash
# /opt/repo/是新建的目录
# 进入目录
# stop.sh:停止应用
# replace.sh:拷贝应用jar
# startup.sh:运行jar
cd /opt/repo/
./stop.sh
./replace.sh
echo "Execute shell Finish"
BUILD_ID=dontKillMe nohup /opt/repo/startup.sh &
注意:在/opt/repo/目录下创建startup.sh、stop.sh、replace.sh文件和project目录
1.创建replace.sh
vim replace.sh
添加下面命令
#!/bin/bash
# replace.sh
# demo是在Jenkins中创建的任务名称
# /opt/repo/project 是新建存放jar包的目录,将Jenkins生成的jar包拷贝到这个目录下
cp /root/.jenkins/workspace/demo/target/demo.jar /opt/repo/project
2.创建startup.sh
vim startup.sh
添加下面命令
#!/bin/bash
framework="demo.jar"
#check whether the main class is running in the process.
processid=$(ps aux|grep ${framework}|grep -v grep|awk '{print $2 }')
if [ "$processid" = "" ];
then
echo "demo";
else
echo "demo is running in the process!"
echo "For processid:${processid}"
exit 1
fi
nohup java -jar demo.jar 2>error.log 1>info.log &
#tail -f nohup.out
exit 100
3.创建stop.sh
vim stop.sh
添加下面命令
#!/bin/bash
framework="demo.jar"
#check whether the main class is running in the process.
processid=$(ps aux|grep ${framework}|grep -v grep|awk '{print $2 }')
if [ "$processid" = "" ]
then
echo "demo is not running in the process!";
else
echo "Stop demo."
kill ${processid}
fi
4.设置执行文件的权限
chmod 755 replace.sh
chmod 755 startup.sh
chmod 755 stop.sh
5.创建project目录
mkdir project
因为我Jenkins和要部署的代码都在一个服务上,所以没有配置远程操作
name: 是Publish over SSH里面的名称
Source files :要上传的文件,即压缩文件
Remote directory : 指定上传的目录
Exec command: 上传成功需要的操作
7)构建设置(此处没有配置)
8)构建后操作(此处没有配置。可以自行选择)
9)保存退出六、立即构建项目
1.立即构建
2.查看控制台输出
构建完成,可以用postman测试,也可以浏览器测试
提示:编译过程可能会报错,根据错误信息进行修改,然后再次build
构建完成,有可能项目启动失败,查看log进行修改