vlambda博客
学习文章列表

​Devops自动化更新Shell脚本实现

Devops自动化运维知多少系统-Shell脚本实现

准备Devops发布自动化环境  

操作系统 CentOS 7.5 64位  

需要安装 Maven 目录:/usr/local/apache-maven-3.5.4  

需要安装 Tomcat 目录:/usr/local/tomcat-create/  

需要安装 Git  

Devops发布自动化步骤  
  • 第一步下载源码,修改pom文件(一般项目都是多个)

  • 第二步编译源代码

  • 第三步停止Tomcat

  • 第四步复制代码

  • 第五步启动Tomcat

具体实现脚本如下: 

echo off
echo ------------------------------------
echo "对项目进行打包:clean compile install -Dmaven.test.skip -Ppro"
echo current path is : $(cd `dirname $0`; pwd)
echo ------------------------------------
git reset --hard
##########################################################
echo "开始拉取gitlab代码"
git config --global credential.helper store
git pull
echo "拉取结束"

set MVN=mvn
set MAVEN_OPTS=%MAVEN_OPTS% -XX:MaxPermSize=128m

pushd $(cd `dirname $0`; pwd)
#pushd ..
pwd
shellname=$(basename $BASH_SOURCE)
echo $shellname
strings="dwz-web-${shellname%.*}"
echo  $strings
aa=`grep ${strings} pom.xml `
bb=`grep  ${strings}   pom.xml   |awk -F':' '{print $2}'`
sed -i  "s#${aa}#${bb}#g" pom.xml

/usr/local/apache-maven-3.5.4/bin/mvn clean compile install -Dmaven.test.skip=true -Ppro

echo "------------------------------------"
echo "已将项目打包到target中!打包命令:clean compile install -Dmaven.test.skip -Ppro"
echo "------------------------------------"

##########################################################
echo "终止Tomcat"
BUILD_ID=dontkillme
port=8030
#根据端口号查询对应的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

#杀掉对应的进程,如果pid不存在,则不执行
if [  -n  "$pid" ];  then
   kill  -9  $pid;
fi
##########################################################
echo "rm -rf /usr/local/tomcat-create/work/*"
rm -rf /usr/local/tomcat-create/work/*

echo "rm -rf /usr/local/tomcat-create/webapps_create/*"
rm -rf /usr/local/tomcat-create/webapps_create/*

echo "cp -r dwz-web-create /usr/local/tomcat-create/webapps_create/create"
cp -r /usr/local/deploy/3wcn/dwz-web-create/target/dwz-web-create /usr/local/tomcat-create/webapps_create/create

echo "/usr/local/tomcat-create/bin/startup.sh"
/usr/local/tomcat-create/bin/startup.sh
##########################################################