西瓜の

-人类是因为记录才进入文明-

2019/02/15
21:33
technology

linux下spring boot项目的 一键式部署

记录一下linux下spring boot项目的一键式部署。
项目代码存在在码云,部署脚本从gitee中拉取最新代码。

新建package.sh和start.sh 两个可执行文件:

touch package.sh
touch start.sh


文件夹下出现了这两个文件。

接下来赋予这两个文件可执行权限:

chmod +x package.sh
chmod +x start.sh


看见两个文件变成了绿色,证明它们拥有了可执行的权限。

之后我们开始编辑package.sh:

vim package.sh
#codePath:项目代码所在文件
codePath=/home/code/watermelon_blog   
cd $codePath
echo '----拉取最新代码----'
#拉取最新代码
git pull origin master  
sleep 1
echo '-----拉取完成,maven打包开始-----'
#maven 打包项目
mvn clean package
sleep 1
echo '-------maven打包完成------'
#项目jar包存放目录
jarPath=/home/jar/blogJar/
cd $jarPath
#删除原来的jar包
rm -rf *
sleep 1
echo '---------项目打包开始-------------'
#将maven打包好的jar包移动到此目录
cp -r $codePath/target/watermelon_blog-1.0.0.jar $jarPath
#解压jar包
jar -xvf watermelon_blog-1.0.0.jar
echo '--------项目打包完成--------'

编辑好了之后,按下esc 然后 :wq 保存退出;
打包结束,接下来编辑启动jar包的脚本

vim start.sh
echo '-------开始启动服务----------'
#jar包地址
jarInfo=/home/jar/blogJar/
cd $jarInfo
echo '-------kill进程中--------------'
#停止正在运行中的服务
ps -ef | grep watermelon_blog.1.0.0 | awk '{print $2}' | xargs kill -9
echo '---------kill完毕,开始启动----------'
#启动服务(指定生产环境)
nohup java -jar watermelon_blog-1.0.0.jar --spring.profiles.active=pro &
echo  '---------启动成功------------'

然后同上保存退出。

spring boot 有内嵌Tomcat容器,我们启动了jar之后,就可以通过主机地址和端口号访问我们的项目了!

如果使用的是阿里云服务器,还需要在安全组里配置项目端口号,不然可能无法访问哦!

通过这种方式,让部署项目简单了不少。

ps:以上方式部署项目,服务器需要安装maven和git。

推荐:
在linux环境下安装maven:https://www.jianshu.com/p/d3ea950f4191
在linux环境下安装git: https://www.jianshu.com/p/89a2917ff5c1