Devops自动化更新Shell脚本实现
Posted 运维之路见闻
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
##########################################################
以上是关于Devops自动化更新Shell脚本实现的主要内容,如果未能解决你的问题,请参考以下文章