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 ...
随机推荐
- 每天一个JS 小demo之“随机”抽奖。主要知识点:Math函数,数组方法,递归
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...
- WPF界面XAML中的if……else……
xaml本身并不支持if--else--,要用Converter替代if--else--来实现我们想要的效果,知者请速离开,不要浪费时间 需求:按照Window的WindowState来决定Gri ...
- pb传输优化浅谈
在正式切入今天要谈的优化之前,先碎碎念一些自己过去这几年的经历.很久没有登录过博客园了,今天也是偶然兴起打开上来看一下,翻看了下自己的随笔,最后一篇原创文章发布时间是2015年的4月,今天是2017年 ...
- ssh隧道
最近有需求使用ssh隧道,顺便研究了下,以下记录一下大概说明 ssh隧道顾名思义在可以通过ssh连接的server之间建立加密隧道,常用于突破网络限制 常用三种端口转发模式:本地端口转发,远程端口转发 ...
- 生成淘口令发现的一个趣事 c#
1.今天,查看网站log,发现如下报错 详细错误:未将对象引用设置到对象的实例. 报错url:http://www.94dazhe.com/mobile/goods/show-546829202052 ...
- Jquery取属性值(复选框、下拉列表、单选按钮)、做全选按钮、JSON存储、去空格
1.jquery取复选框的值 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- javascript 生成 uuid
全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) . GUID是一种由算法生成的二进制长度 ...
- Hibernate入门(一)
一 Hibernate介绍 Hibernate 是一个开源.轻量级的ORM(对象关系映射)工具,该工具简化了数据创建.数据处理和数据访问,它是一种将对象映射到数据库中表的编程技术.ORM工具内部使用J ...
- Xcode9新特性介绍-中文篇
背景: Xcode 9 新特性介绍: 1.官方原文介绍链接 2.Xcode9 be ta 2 官方下载链接 本文为官方介绍翻译而来,布局排版等都是按照官方布局来的. 与原文相比,排版上基本还是熟悉的配 ...
- Objective-C 编码风格指南
本文转自:[Objective-C 编码风格指南 | www.samirchen.com][2] ## 背景 保证自己的代码遵循团队统一的编码规范是一个码农的基本节操,能够进入一个有统一编码规范的团队 ...