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自动化创建补丁的更多相关文章

  1. 利用ARM批量自动化创建SSD多磁盘RAID0虚拟机

    在实际生产环境大规模部署的时候,有时需要能批量创建多台Linux虚拟机,并且该虚拟机带多个硬盘,一些数据库环境,比如MySQL和MongoDB等,会需要超过10000de IOPS, 那么创建的虚拟机 ...

  2. 20181225-Linux Shell Bash环境下自动化创建ssh互信脚本

    20181225-Linux Shell Bash环境下自动化创建ssh互信脚本 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba/ 个人网站 http: ...

  3. Linux 自动化部署DNS服务器

    Linux 自动化部署DNS服务器 1.首先配置主DNS服务器的IP地址,DNS地址一个写主dns的IP地址,一个写从dns的地址,这里也可以不写,在测试的时候在/etc/resolv.conf中添加 ...

  4. linux自动化交互脚本expect详解set timeout 5是 意思是在expect语句中,5s后超时,不再作出选择。

    linux自动化交互脚本expect详解  更新时间:2020年10月21日 10:13:20   作者:lendsomething     这篇文章主要介绍了linux自动化交互脚本expect的相 ...

  5. weblogic自动化打补丁脚本

    转至:https://www.it610.com/article/1294086996750311424.htm 目的 weblogic每个季度都会有psu更新,打补丁操作也变成了每个季度都要做的事情 ...

  6. linux内核分析作业6:分析Linux内核创建一个新进程的过程

    task_struct结构: struct task_struct {   volatile long state;进程状态  void *stack; 堆栈  pid_t pid; 进程标识符  u ...

  7. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

  8. 第六周——分析Linux内核创建一个新进程的过程

    "万子恵 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 &q ...

  9. 分析Linux内核创建一个新进程的过程

    一.原理分析 1.进程的描述 进程控制块PCB——task_struct,为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_struct ...

随机推荐

  1. angular表单验证实例----可用的代码

    前段时间,公司做一个单页面,就是一个表单验证,早开始在菜鸟教程上关注了angular,所以下派上用场了 angular里面对于表单验证,设置了很多指令. 也就是说不用自己写一些逻辑,直接绑定指令就行. ...

  2. ionic中应用sass

    在学习ionic过程中看到sass,总结了一下基本用法和问题解决办法1.首先需要一个ionic项目,并执行下面的命令ionic start CustomSass blank && cd ...

  3. IBM芯片新功能:诊断癌症

    治愈任何疾病的最好方法是什么?-------------- 当然是把它扼杀在摇篮里. "早发现早治疗"已经是老生常谈,但要准确监测疾病又谈何容易?不过现在,IBM这枚小小的芯片就能 ...

  4. C#中的Dictionary的使用

    在工作中有时候会用到Dictionary,由于自己之前没用过,参考了一下前人和先辈的实践,仿照着写了一个Test,第一次用还不是很熟练,要多实践练习才能用的得心应手,写代码重在敲键盘,以此为诫.(主要 ...

  5. PHP中利用redis实现消息队列处理高并发请求

    将请求存入redis 为了模拟多个用户的请求,使用一个for循环替代 //redis数据入队操作 $redis = new Redis(); $redis->connect('127.0.0.1 ...

  6. thinkphp之获取客户端IP地址

    /** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @return mixed */ function get_cl ...

  7. 【LeetCode】220. Contains Duplicate III

    题目: Given an array of integers, find out whether there are two distinct indices i and j in the array ...

  8. Nio经典工作方式

    public void selector() throws IOException { ByteBuffer buffer = ByteBuffer.allocate(1024); Selector ...

  9. 6位密码框js

    !DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content=&quo ...

  10. sql将一列数据拼成一个字符串的方法

    SELECT STUFF(CONVERT(VARCHAR(500), ( SELECT TOP 10 ',' + BG_Country FROM dbo.BS_Budget FOR XML PATH( ...