• 自动检查出修改的代码 shell 做升级包 供观摩


    
    #!/bin/bash
    # 检测出 appsReleass 项目代码更新
    # oath 冉幕飞
    
    #验证 基础参数 $1 
    day=$1 #多少天内
    zipfile=$2 #包名称
    if [ "$day" == '' -o "$zipfile" == '' ];then
     echo '----------- error ----------------'
     echo '--------- 请输入多少天以内的更新 或者缺少包名称-------'
     exit 0
    fi
    #=========================== config ======================
    root=/home/www/appsRelease # 扫描目录
    savepath=/home/www/two #检出保存位置
    zipPath=/home/www/package2
    package=/home/www/package2/utf-8 #制作包位置
    actionPath=/home/www/package/apprelease #压缩包存放位置
    cd ${root}
    filelist=$(find . -path "./.git*" -a -prune -o -path "./Cache" -a -prune -o -path "./Uploads"  -a -prune -o -mtime -$day ) 
    #========================= end config ===================
    
    # clear file
    rm -rvf ${savepath}/*
    rm -rvf ${package}/upload/*
    rm ${package}/upgrade/ext/*.sql
    rm ${package}/upgrade/config.php
    #exit 0
    
    
    
    
    for file in $filelist
    do
    	files=${file#*/}
    
    		
    	if [ -f $files ];then
    		dir=${files%/*}
    		
    		printf "%s   
    " $dir
    		
    		if [ ! -d ${savepath}/${dir} ];then
    			if [ -d ${root}/${dir} ];then
    			  mkdir -p ${savepath}/${dir}
    			fi
    		fi
    		cp -rvf "${files}" ${savepath}/${files}
    	fi
    	#cp $file ../one
    done
    
    #echo ${filelist}
    sleep 3
    echo '===================copy file end; start create package======================='
    sleep 3
    #exit 0
    # copy file
    cp -rvf ${savepath}/* ${package}/upload/
    
    cp -rvf ${savepath}/sql/* ${package}/upgrade/ext/
    
    #cp -rvf ${savepath}/sql/config.php ${package}/upgrade/
    # 版本信息写入
    data=`echo $zipfile | cut -d \_ -f 3`
    
    data_temp=${data:0:4}/${data:0-4:2}/${data:6:2}
    
    version=7.1.${data:0-4}
    
    cat <<-END> ${package}/upgrade/config.php
    <?php
    return array(
            'vs'=>'${version}',//需要升级的程序
            'data'=>'${data}',//升级到的程序版本
            'data_temp'=>'${data_temp}',
    );
    END
    ## 版本结束
    # zip file
    cd ${zipPath}
    zip -r ${zipPath}/${zipfile}.zip utf-8
    mv ${zipfile}.zip ${actionPath}
    # push online
    #git add --all && git commit -m "up newpacka" && git pull && git push
    
    echo '=========  end ===================='
    
    
    


    作者:鹊桥仙
    出处:http://www.cnblogs.com/freefei/
    关于作者:专注于Linux平台项目架构、管理和企业解决方案。基于linux 容器技术 微服务架构 云计算领域有一点点经验。如有问题或建议,请多多赐教!
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以邮件:ranmufei@qq.com  微博:鹊桥仙  联系我,非常感谢。

            </p>
        </div>
  • 相关阅读:
    2018-8-10-如何写毕业论文-表格
    2018-8-10-win10-uwp-自定义控件初始化
    2018-8-10-win10-uwp-自定义控件初始化
    hashMap的hashCode() 和equal()的使用
    java中fail-fast 和 fail-safe的区别
    java各种集合的线程安全
    Java集合框架总结—超详细-适合面试
    CodeForces 1058C C. Vasya and Golden Ticket
    CodeForces 1058C C. Vasya and Golden Ticket
    CodeForces-1058B B. Vasya and Cornfield
  • 原文地址:https://www.cnblogs.com/freefei/p/7682209.html
Copyright © 2020-2023  润新知