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 ...
随机推荐
- HTMLCollection 对象详解,以及为什么循环获取的dom合集操作可能会出现下标不正确的情况?
有时候循环dom合集,然后操作其中的某些dom之后,发现下标不正确了 比如我们要删除一个dom合集的时候: var selectDom = document.getElementsByClassNam ...
- 写了一个Mac快速设置、打开和关闭Web代理的Shell命令
缘由(痛点) 每次在Mac上设置Web代理,都需要点开"系统偏好设置 -- 网络 -- 高级 -- 代理",然后分别设置Web代理(HTTP)和安全Web代理(HTTPS),设置完 ...
- Java中SimpleDateFormat用法详解
所有已实现的接口: Serializable, Cloneable SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式化(日期 -> 文本) ...
- Chapter 3:Speech Production and Perception
作者:桂. 时间:2017-05-24 09:09:36 主要是<Speech enhancement: theory and practice>的读书笔记,全部内容可以点击这里. 一. ...
- js获取网页请求类型是http还是https
代码如下,即可判断 var ishttps = 'https:' == document.location.protocol ? true : false; if(ishttps) { alert(& ...
- iptables 基本用法
iptables 1.iptables 表 (1)介绍常用表 filtert(过滤器) 链 ↓ INPUT chain:控制进入主机的数据包 OUTPUT chain:控制向外发出的数据包 FORWA ...
- js中年份、月份下拉框
<select id="year" style="width: 100px;"></select> <select id=&quo ...
- Kubernets 资源类型简介
# Node 代表 Kubernets 集群运行的宿主物理机或者虚拟服务器, 为容器提供必要的计算资源: 内存 与 CPU 等. # Pod 最底层的抽象. 一个 Pod 中可以包含一个或者多个运行的 ...
- 浅析TCP/IP 协议
TCP/IP协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族. TCP/IP协议模块关系 从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层.网络层.传输层.应用层 ...
- Go - concurrency
并发 vs 并行 首先,我们先来搞清楚概念以及并发和并行的区别. 并发 - 利用时间片切换来实现“同时”运行的. 并行 - 利用CPU的多核来实现通过多线程来实现同时运行. Go 语言的设计理念就是通 ...