先说一下背景,之前买了一年的最低配阿里云,想让它物尽其用。
该脚本实现了一个从本地提交代码到github,然后通过jenkins从远程仓库打包最后更新到 tomcat 上的自动化部署流程。
首先在服务器上启动2个tomcat 一个8080 ,一个8082
8080是我用来启动应用的服务器,8082上部署了jenkins,
下面是构建脚本
#!/bin/bash
#更新war包并且重启tomcat
#tomcat的webapps地址
TOMCAT_WEBAPPS_PATH=/usr/tomcat/apache-tomcat-9.0.26/webapps
#tomcat的旧项目备份地址
OLD_PROJECT_PATH=/usr/tomcat/project_old
#tomcat的bin路径
TOMCAT_BIN_PATH=/usr/tomcat/apache-tomcat-9.0.26/bin
#从github拉取的新工程的地址
RPOJECT_PATH=/root/.jenkins/workspace/xxxxxx/target/
#工程名称
APP_NAME=xxxxxx
#TOMCAT进程
TOMCAT_PROGRESS=`netstat -tunlp|grep 8080`
#还原
function restore(){
#关闭tomcat
shutdownTomcat
#部署失败,还原
echo "[`date`]-[ERROR]-部署失败,还原"
rm -rf ${TOMCAT_WEBAPPS_PATH}/${APP_NAME}.war
cp ${OLD_PROJECT_PATH}/${APP_NAME}.war ${TOMCAT_WEBAPPS_PATH}/${APP_NAME}.war
echo "[`date`]-[INFO]-项目已还原"