linux自动化创建补丁
BUS
#!/bin/sh
#判断H5_BD_${BD_data}目录是否存在
BD_data=$(date +"%F")
#当日打包多次的情况下,初始化补丁目录
if [ -d "BD_${BD_data}" ]; then
echo "今日补丁目录已存在,进行补丁目录初始化"
# 补丁目录初始化
rm -rf ./BD_${BD_data}/TBAServer/lib/*
rm -rf ./BD_${BD_data}/TBAServer_conf/*
rm -rf ./BD_${BD_data}/TBAServer_classes/*
else
#创建补丁目录
mkdir -p ./BD_${BD_data}/TBAServer/lib
mkdir -p ./BD_${BD_data}/TBAServer_conf
mkdir -p ./BD_${BD_data}/TBAServer_classes
fi
#!/bin/sh #临时改变BUILD_ID值,使得Jenkins不会找到并结束掉run.sh启动的后台进程
OLD_BUILD_ID=$BUILD_ID
echo $OLD_BUILD_ID
BUILD_ID=dontKillMe
#获取BD_data
BD_data=$(date +"%F") #移动bus部署公共jar包
rm -rf ./ISMP_1_BUS/bus/lib/${Delete_jar}
cp -rf ./ISMP_1_BUS/bus/lib/*.jar ./BD_${BD_data}/TBAServer/lib #移动BUS相关配置文件 cp -rf ./ISMP_1_BUS/src/config/${Env}/* ./BD_${BD_data}/TBAServer_conf #移动BUS相关classes文件 cp -rf ./ISMP_1_BUS/target/classes/* ./BD_${BD_data}/TBAServer_classes #清空patches目录下,相关文件
echo ${BD_name}
mkdir -p /mnt/patches/BD_${BD_data}/${BD_name}_classes
rm -rf /mnt/patches/BD_${BD_data}/${BD_name}_classes/*
cp -rf ./BD_${BD_data}/TBAServer_classes/* /mnt/patches/BD_${BD_data}/${BD_name}_classes mkdir -p /mnt/patches/BD_${BD_data}/${BD_name}_conf
rm -rf /mnt/patches/BD_${BD_data}/${BD_name}_conf/*
cp -rf ./BD_${BD_data}/TBAServer_conf/* /mnt/patches/BD_${BD_data}/${BD_name}_conf mkdir -p /mnt/patches/BD_${BD_data}/${BD_name}_lib
rm -rf /mnt/patches/BD_${BD_data}/${BD_name}_lib/*
cp -rf ./BD_${BD_data}/TBAServer/* /mnt/patches/BD_${BD_data}/${BD_name}_lib
H5
#!/bin/bash
#find ./www0/m/trade -name ".svn" -exec rm -rf {} \;
# rm svn file echo ${WORKSPACE} if [[ ! -d ${WORKSPACE} ]]; then
echo "not dir"
return
fi SAVEIFS=$IFS;
IFS=$'\n'
rmDirSvn(){ cd ${WORKSPACE}; countF=`ls -A | wc -l`
if [[ $countF -eq ]]; then
cd ./../
echo ${WORKSPACE} is null
return;
fi
countF=`find . -name ".svn" -mindepth -maxdepth `
echo $countF
for fileD in $countF; do
s
if [[ -d $fileD ]]; then
echo $fileD
rm -rf $fileD elif [[ ! -e $fileD ]]; then
echo $fileD not exist
fi done
} rmDirSvn ${WORKSPACE};
IFS=$SAVEIFS
#判断H5_BD_${BD_data}目录是否存在
BD_data=$(date +"%F")
#当日打包多次的情况下,初始化补丁目录
if [ -d "H5_BD_${BD_data}" ]; then
echo "今日补丁目录已存在,进行补丁目录初始化"
# 补丁目录初始化
rm -rf ./H5_BD_${BD_data}/android/*
rm -rf ./H5_BD_${BD_data}/ios/*
else
#创建补丁目录
mkdir -p ./H5_BD_${BD_data}/android
mkdir -p ./H5_BD_${BD_data}/ios
fi
#同步非现场开户H5文件
mv -f ./m1/* ./www/m
sleep 5
rm -rf ./m1
#判断zip命令服务器是否存在
if [ -n `which zip` ]; then
echo 'zip exist'
else
echo 'zip does not exist'
yum -y install zip*
fi
#进行指定环境的H5BD打包
if [[ "$Env" == "dev" ]]
then
echo "打包深圳测试环境,H5升级补丁包"
rm -rf ./www/m/mall/configuration.js
rm -rf ./www/m/mall/index.html
#H5环境替换为深圳测试环境
cp -rf ./SZ_Conf/* ./www/m/mall/
#压缩补丁包
zip -q -r -o ${WORKSPACE}/H5_BD_${BD_data}/android/m.zip ./www
zip -q -r -o ${WORKSPACE}/H5_BD_${BD_data}/ios/www.zip ./www
if [[ "$Updata" == "yes" ]]
then
echo "进行H5自动更新"
#移动m包至接入层download目录
mkdir -p /hxspace/production/webroot/mall/mall/download
rm -rf /hxspace/production/webroot/mall/mall/download/*
cp -rf ./H5_BD_${BD_data}/* /hxspace/production/webroot/mall/mall/download/
else
echo "取消H5环境自动更新"
fi
else
echo "打包成都测试环境,H5升级补丁包"
#H5环境替换为成都测试环境
rm -rf ./www/m/mall/configuration.js
rm -rf ./www/m/mall/index.html
#H5环境替换为成都测试环境
cp -rf ./CD_Conf/* ./www/m/mall/
#压缩补丁包
zip -q -r -o ${WORKSPACE}/H5_BD_${BD_data}/android/m.zip ./www
zip -q -r -o ${WORKSPACE}/H5_BD_${BD_data}/ios/www.zip ./www
if [[ "$Updata" == "yes" ]]
then
echo "进行H5自动更新"
#移动m包至接入层download目录
mkdir -p /hxspace/production_test/webroot/mall/mall/download
rm -rf /hxspace/production_test/webroot/mall/mall/download/*
cp -rf ./H5_BD_${BD_data}/* /hxspace/production_test/webroot/mall/mall/download/
else
echo "取消H5环境自动更新"
fi
fi
接入层
#!/bin/sh
#判断H5_BD_${BD_data}目录是否存在
BD_data=$(date +"%F")
#当日打包多次的情况下,初始化补丁目录
if [ -d "BD_${BD_data}" ]; then
echo "今日补丁目录已存在,进行补丁目录初始化"
# 补丁目录初始化
rm -rf ./BD_${BD_data}/Webapp/*
else
#创建补丁目录
mkdir -p ./BD_${BD_data}/Webapp
fi
#!/bin/bash
#find ./www0/m/trade -name ".svn" -exec rm -rf {} \;
# rm svn file echo ${WORKSPACE} if [[ ! -d ${WORKSPACE} ]]; then
echo "not dir"
return
fi SAVEIFS=$IFS;
IFS=$'\n'
rmDirSvn(){ cd ${WORKSPACE}; countF=`ls -A | wc -l`
if [[ $countF -eq ]]; then
cd ./../
echo ${WORKSPACE} is null
return;
fi
countF=`find . -name ".svn" -mindepth -maxdepth `
echo $countF
for fileD in $countF; do if [[ -d $fileD ]]; then
echo $fileD
rm -rf $fileD elif [[ ! -e $fileD ]]; then
echo $fileD not exist
fi done
} rmDirSvn ${WORKSPACE};
IFS=$SAVEIFS
#!/bin/sh
#临时改变BUILD_ID值,使得Jenkins不会找到并结束掉run.sh启动的后台进程
OLD_BUILD_ID=$BUILD_ID
echo $OLD_BUILD_ID
BUILD_ID=dontKillMe
#获取BD_data
BD_data=$(date +"%F") sleep 5s #移动最新WEB目录至工程路径下
cp -rf ./Web_Source/target/huaxi_thinkmall_web-1.0.-SNAPSHOT/* ./BD_${BD_data}/Webapp #移动同步文件文件至工程路径下
#cp -rf /hxspace/production/webroot/mall/upload/* ./BD_${BD_data}/Webapp/mall/upload #移动自动更新文件文件至工程路径下
mkdir -p ./BD_${BD_data}/Webapp/mall/download
#cp -rf /hxspace/production/webroot/mall/download/* ./BD_${BD_data}/Webapp/mall/download #移动覆盖WEB部署classes下配置文件
cp -rf ./Web_Source/src/config/${Env}/classes/* ./BD_${BD_data}/Webapp/WEB-INF/classes/ #移动覆盖WEB部署/m/mall/下配置文件
cp -rf ./Web_Source/src/config/${Env}/webapp/m/mall/* ./BD_${BD_data}/Webapp/m/mall/ #移动覆盖WEB部署启动index文件
cp -rf ./Web_Source/src/config/${Env}/index.html ./BD_${BD_data}/Webapp #清空patches目录下,相关文件
mkdir -p /mnt/patches/BD_${BD_data}/HX_ChenDu_LC_Mall_WEB_Linux_Test/
rm -rf /mnt/patches/BD_${BD_data}/HX_ChenDu_LC_Mall_WEB_Linux_Test/* #移动部署文件patches目录下
cp -rf ./BD_${BD_data}/Webapp/* /mnt/patches/BD_${BD_data}/HX_ChenDu_LC_Mall_WEB_Linux_Test
linux自动化创建补丁的更多相关文章
- 利用ARM批量自动化创建SSD多磁盘RAID0虚拟机
在实际生产环境大规模部署的时候,有时需要能批量创建多台Linux虚拟机,并且该虚拟机带多个硬盘,一些数据库环境,比如MySQL和MongoDB等,会需要超过10000de IOPS, 那么创建的虚拟机 ...
- 20181225-Linux Shell Bash环境下自动化创建ssh互信脚本
20181225-Linux Shell Bash环境下自动化创建ssh互信脚本 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba/ 个人网站 http: ...
- Linux 自动化部署DNS服务器
Linux 自动化部署DNS服务器 1.首先配置主DNS服务器的IP地址,DNS地址一个写主dns的IP地址,一个写从dns的地址,这里也可以不写,在测试的时候在/etc/resolv.conf中添加 ...
- linux自动化交互脚本expect详解set timeout 5是 意思是在expect语句中,5s后超时,不再作出选择。
linux自动化交互脚本expect详解 更新时间:2020年10月21日 10:13:20 作者:lendsomething 这篇文章主要介绍了linux自动化交互脚本expect的相 ...
- weblogic自动化打补丁脚本
转至:https://www.it610.com/article/1294086996750311424.htm 目的 weblogic每个季度都会有psu更新,打补丁操作也变成了每个季度都要做的事情 ...
- linux内核分析作业6:分析Linux内核创建一个新进程的过程
task_struct结构: struct task_struct { volatile long state;进程状态 void *stack; 堆栈 pid_t pid; 进程标识符 u ...
- linux 用户创建、管理、权限分配
(1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...
- 第六周——分析Linux内核创建一个新进程的过程
"万子恵 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 &q ...
- 分析Linux内核创建一个新进程的过程
一.原理分析 1.进程的描述 进程控制块PCB——task_struct,为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_struct ...
随机推荐
- [转]tomcat部署
转载博客原文地址: http://www.cnblogs.com/xing901022/p/4463896.html 阅读目录 介绍 静态部署——在tomcat启动时部署 动态部署——在tomcat ...
- 4.Node.js 微信消息管理
一.写在前面的话 当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应. 消息推送也是 ...
- 解析PHP面向对象的三大特征
class BenHang extends Card{ /*构造函数与及构造的继承*/ function __construct($cardno,$pwd, $name,$money){ parent ...
- javacpp-opencv图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作
欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置. ...
- SpringMVC的form:form表单的使用
为什么要使用SpringMVC的form:form表单,有两个原因:一是可以更加快捷的完成表单的开发,比如会替你做好数据类型装换等本来需要你自己动手的工作.其次就是能够更加方便的实现表单回显. 首先要 ...
- python 标准库 -- os
os os.getcwd() os.getcwd() # 获取当前工作目录 os.listdir(path) os.listdir('/tmp') # 列出指定目录下的文件和目录 os.mkdir(p ...
- An impassioned circulation of affection
An impassioned circulation of affection time limit per test 2 seconds memory limit per test 256 mega ...
- kaggle Titanic心得
Titanic是kaggle上一个练手的比赛,kaggle平台提供一部分人的特征,以及是否遇难,目的是预测另一部分人是否遇难.目前抽工作之余,断断续续弄了点,成绩为0.79426.在这个比赛过程中,接 ...
- Data Guard 的三种保护模式
官方文档链接 http://docs.oracle.com/cd/E11882_01/server.112/e41134/protection.htm#SBYDB02000 最大可用模式(Maximu ...
- [leetcode-604-Design Compressed String Iterator]
Design and implement a data structure for a compressed string iterator. It should support the follow ...