转载自:https://www.cnblogs.com/cl-rr/p/10499609.html
叙述
我个人使用的是阿里云的云服务器,项目采用的是spring boot为框架,现在要做的功能就是将本地开发的代码提交到github中,通过jenkins自动化集成部署到云服务器。接下来开始步骤。
1 首先是在服务器上安装必要的软件,jenkins,jdk,maven,git等 (此处暂时省略安装步骤)
附上两篇好的博客
https://www.cnblogs.com/minsons/p/7216654.html
https://my.oschina.net/tonystark/blog/1920889
2 配置jenkins
2.1 首先在系统管理-插件管理 在可选插件里面搜索Maven Integration Plugin下载。
2.2 配置系统相关信息 在系统管理-系统设置中
2.3 工具配置 在系统管理-全局工具配置
2.4新建项目管理
脚本:
#!/bin/bash
#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe
#指定最后编译好的jar存放的位置
www_path=/var/codespace/corporationManagement/
#Jenkins中编译好的jar位置
jar_path=/var/lib/jenkins/workspace/corporationManage/dragonclub/target/
#Jenkins中编译好的jar名称
jar_name=dragonclub-0.0.1-SNAPSHOT.jar
#获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程
pid=$(cat /var/codespace/corporationManagement/shaw-test-web.pid)
#进入指定的编译好的jar的位置
cd ${jar_path}
#将编译好的jar复制到最后指定的位置
cp ${jar_path}/${jar_name} ${www_path}
#进入最后指定存放jar的位置
cd ${www_path}
#杀掉以前可能启动的项目进程
kill -9 ${pid}
#启动jar,指定SpringBoot的profiles为test,后台启动
java -jar -Dspring.profiles.active=prod ${jar_name} &
#将进程ID存入到shaw-web.pid文件中
echo $! > /var/codespace/corporationManagement/shaw-test-web.pid