Jenkins自动构建部署发布spring boot 项目(详解)

环境:

  1. JDK 1.8
  2. Jenkins服务器和部署项目服务器为两台Centos服务器
  3. maven

步骤

默认jenkins,maven,jdk环境已经搭建完成

第一步-安装所需要的插件

1.点击【系统管理】-【插件管理】-【可选插件】搜索以下3个插件进行安装:

Git plugin ---下面要拉取需要构建的代码,根据公司项目代码仓库选择,下面我们用的是git。

Maven Integration plugin---使我们可以使用maven job

publish over SSH---使我们的jenkins服务器连接部署项目服务器

第二步-参数配置

1.点击系统管理

2.右边点击全局工具配置

 

3.配置Maven

 

4.配置JDK

以上都不要勾选自动安装

5.配置登录部署项目服务器参数,登录方式有两种,一种是密钥方式登录,还一种是服务器用户名和密码直接登录,我们现在用第二种,这一种比较简单。

.点击【系统管理】-【系统配置】,找到SSH Servers

Name:随便取,到时候用这个做为标识作用。

Hostname:目标服务器IP地址,也就是部署项目服务器地址。

Username:登录部署项目服务器地址的用户名

Remote Directory:可以不填。

再点击【高级】按钮

勾选上Use password authentication, or use a different key

Passphrase / Password的输入框中输入登录部署项目服务器的密码

点击【Test Configuration】按钮,如果出现Success,说明刚刚成功连接上了这条项目部署服务器,刚刚的配置正确。如果错误,先确认输入的账号密码是否正确。

以上参数配置基本完成

 

第三步-新建job

  1. 创建一个maven项目
  2. 勾选丢弃旧的构建,点击高级,展开所有配置,作用便于管理空间。图上配置的意思是保留最近10天的构建记录,一共只储存最近11次的构建记录,发布包保留7天,只保留一个发布包。根据自己的需求配置,不一定按照图片上的来。
  3. 设置源码管理
  4. 勾选Add timestamps to the Console Output,作用:拉取项目代码构建的过程中会将日志打印出来。
  5. 设置Build,Goals and options:clean install -Dmaven.test.skip=true -Ptest      
  6. 勾选上Run only if build succeeds,作用是发布步骤,只有这个job前面构建成功后才会执行
  7. 点击Add post-build step选择Send files or execute commands over SSH

    最重要的配置来了,特地加粗加大,务必不要让其他小伙伴踩到我踩过坑

 

Name:这个字段就是上面【第二步参数-配置】的第五点中你设置的Name

Source files:这个字段的意思是,填入你想要传到项目部署服务器上的jar包地址。这个文件集的基本目录是这个job工作区,举实例说明。你在控制台输出能看到你这个job的工作区地址为:

/data/var/jenkins/workspace/aaa

再看你jar包的地址:

/data/var/jenkins/workspace/aaa/bbb/target/ccc.jar

假如你要将ccc.jar这个jar包传到项目部署服务上去。Source files 填bbb/target/ccc.jar,也就是jar包的地址减去job的工作区地址

Remove prefix:意思填入你要去掉的文件目录前缀。如果不填的话,这个ccc.jar包存到项目部署服务器上面的目录将会是bbb/target/ccc.jar,如果你填bbb,那么个ccc.jar存到项目部署服务器上面的目录,jar包前面的目录将会是target/ccc.jar。

Remote directory:意思是,你的ccc,jar包要存到项目部署服务器的哪个目录下,就填什么目录。图上的意思是,我将ccc.jar这个jar包存到项目部署服务的/jars目录下,这个位置有个重要的点,假如在上面【第二步-参数配置】的第五点Remote Directory的值填的是:/data  ,然后现在这儿的Remote directory值填的:/jars ,那么Remote directory最终的地址将会是:/data/jars。总结:这两个目录地址会拼接。

Exec command:填入项目部署服务器上sh 文件地址,sh内容贴下,sh文件中是,kill 旧项目,删除旧项目,启动新项目,备份老项目。

DATE=$(date +%Y%m%d)
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/java/jdk1.8.0_131
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/root/xxx
JARFILE=xxx-0.0.1-SNAPSHOT.jar

if [ ! -d $DIR/backup ];then
   mkdir -p $DIR/backup
fi
cd $DIR

ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9
mv $JARFILE backup/$JARFILE$DATE
mv -f /root/Jenkins-in/$JARFILE .

java -jar $JARFILE > out.log &
if [ $? = 0 ];then
        sleep 30
        tail -n 50 out.log
fi

cd backup/
ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf

最后一步

点击保存,再构建job,查看控制台日志是否报错。

 

完毕~~

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值