一、概述
在项目数量比较大和构建流程比较复杂的场景,我们一般会使用jenkins以及衍生产品来实现构建打包部署能力,但对于一些简单的项目和小众场景,我们使用简单的脚本构建部署,也未必不是一个简单便捷和节省成本的选择...# 休眠10s,等待进程终止
sleep 10
#把maven编译打包的最新jar包拷贝到工作目录
cp target/springboot-demo-$1.jar $WORK_DIR
#再次检查进程是否终止...;如果已经存在项目目录,则进入目录拉取最新代码
使用mvn命令编译打包,并输出可执行jar到target目录,如果编译失败则退出执行
找出服务进程,并发送kill执行进行终止服务进程,并且休眠10s,给服务进程足够的时间处理剩余的事情...从项目目录的target文件夹拷贝可执行jar到项目工作目录
再次检查服务进程是否已经终止,如果没有终止则强行终止(理论上10s可以正常终止,休眠时间可按需调整)
通过nohup java -jar命令后台运行服务...缺少监控和报告:jenkins 提供了丰富的监控和报告功能,如构建历史、构建日志、构建结果等,而使用 Shell 脚本可能需要自行实现这些功能。