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 ...
随机推荐
- Spring+SpringMVC+MyBatis深入学习及搭建(八)——MyBatis查询缓存
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6956206.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(七)——My ...
- JAVAEE学习——struts2_02:结果跳转方式、访问servletAPI方式、获得参数以及封装和练习:添加客户
一.结果跳转方式 <action name="Demo1Action" class="cn.itheima.a_result.Demo1Action" m ...
- 如何用VS进行程序调试
VS是一个强大的IDE,如果你现在只会简单地用它查看一下执行效果,那就太大材小用了. 1. CRT函数报错 首先来说说最常见的一个编译错误.微信里常常收到这个错误的截图提问. CRT(C Runtim ...
- [附录]Discuz X2.5 模板目录结构注释说明
/template/default/common 公共模板目录全局加载 block_forumtree.htm DIY论坛树形列表模块 block_thread.htm DIY帖子模块调用文件 ...
- require 增量更新与版本管理
使用require.js 加载JS文件时,当JS文件有更新,可以通过更改全局版本号( urlArgs : 'v=1'),告诉浏览器加载新的文件. 但该方法虽然使用方便,但美中不足的是有些不需要更新的文 ...
- Linux命令 查看及修改文件属性
chmod [功能说明] 改变文件的访问权限 #Linux中访问权限分为:文件属主(文件的创建者)文件组属主(创建者所处的组)和其他(其他用户) [语法格式] Chmod[参数]mode[文件名或目 ...
- thinkphp中find()和select()的区别
1.find()是查找符合条件的第一条数据,返回的是一个一维数组: select()是查找符合条件的所有的数据,返回的是一个二维数组: 2.以下案例 $tech=M('techlevel','HR_C ...
- PHP中单引号和双引号的区别
双引号里面的字段会经过编译器解释,然后再当作HTML代码输出:单引号里面的不进行解释,直接输出: PHP引号使用原则 1.字符串的值用单引号 2.PHP中尽量用单引号,HTML代码全部用双引号 3.在 ...
- [css 实践篇] CSS box-orient
定义和用法 box-orient 属性规定框的子元素应该被水平或垂直排列. 提示:水平框中的子元素从左向右进行显示,而垂直框的子元素从上向下进行显示.不过,box-direction 和 box-or ...
- Quirks模式是什么?它和Standards模式有什么区别
从IE6开始,引入了Standards模式,标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到在指定浏览器中的程度. 在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差 ...