web代码发布脚本以及优化

背景

新入职的公司是个电商公司,每天要更新跟多产品信息,所以文件的更新速度非常快,但是入职后发现原有的发布脚本很难使用,经常因为输入错误,导致发布失败,很影响工作效率。

思路

1,QA 会把新文件上传到本地src服务器,项目的存储位置完全和线上一样,所以要保证,每次QA上传之前,项目文件夹为空,只保留目录树   

         2,由于项目众多选用for 循环嵌套case 语句,来做主程序,这样不管 ,当天要更新什么项目,都不需要判断,直接输入所需要的更新的项目号,就可以update

3,每次推送结束后,清空文件夹,并显示 更新的文件,和文件数方便与QA对照文件是否相同

代码

     

#!/bin/bash
echo -n -e "1.project1    2.project2   3.project3\n"
project="Please enter the project number:"
read -p "$project" a b c 
for what in $a $b $c 
do
case $what  in
        1)echo “you select number1”
            rsync
            ;;
        2) echo "you select number2"
            rsync
            ;;
        3) echo "you select number3"
            rsync
            ;;
        *) echo "you do not select a number"
            ;;
esac
done
find /path/to/forder/ -type f | wc -l
find /path/to/forder/ -type f -exec rm {} \;

   这只是个方法,代码写的很粗糙,但是比起之前全部用if 语句写的发布脚本,要好很多,不需要人来做判断,仅仅输入所要更新的项目号 就可以了


时间: 2024-11-01 13:21:42

web代码发布脚本以及优化的相关文章

web代码发布脚本以及回滚3.0

由于web服务器上的代码更新速度非常快,所以备份回滚变的非常重要,在源服务器在代码更新之前要做好备份 #!/bin/bash TODAY=`date +'%Y%m%d%H%M%S'` BACKUP_DIR=/home/path_to_file/publish/FILENAMEback FILE_DIR=/PATH/TO/FILE find $FILE_DIR/ -type f > /home/publish_file.list sed -i 's/\/PATH\/TO\/FILE\>//g' 

自动化代码发布系统实现

日常运维问题 在我日常运维工作中,代码发布可能是最普遍的一项工作之一,尤其是网页代码的更新,碎片化发布需求非常频繁.在前期开发人员比较少时,还可以由自己来上服务器通过脚本来发布代码.但随着公司项目的增多,更多的开发人员加入到公司,发布代码需求开始增多,这就占用了我大部分时间,经常的被打断其它工作来发布代码,非常地不爽,然后开始想解决方法. 尝试解决问题 当然,发布代码肯定是运维的职责之一了,但频繁的发布导致运维大部分时间浪费在重复的操作上,非常的不值得.基于此,开始限制代码发布频率,要求把不是很

代码发布系统实现

文章目录 [隐藏] 关于项目开源 日常运维问题 尝试解决问题 最终解决方案 开源技术使用 代码发布流程 最后想说的话 关于项目开源 由于挺多同学请求开源此项目,在这里说明一下:其实本人是想开源的,由于是本人写的第一个运维方面的系统,且写这个项目的时间时间紧,只达到了可以使用的程度,完全没有达到开源的要求,希望理解! 日常运维问题 在我日常运维工作中,代码发布可能是最普遍的一项工作之一,尤其是网页代码的更新,碎片化发布需求非常频繁.在前期开发人员比较少时,还可以由自己 来上服务器通过脚本来发布代码

Walle代码发布练习

一.概述 Walle 一个web部署系统工具,配置简单.功能完善.界面流畅.开箱即用!支持git.svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布.回滚,可以通过web来一键完成. 功能列表:用户分身份注册.登录开发者发起上线任务申请.部署管理者审核上线任务支持多项目部署支持多项目多任务并行快速回滚项目的用户权限管理部署前准备任务pre-deploy(前置检查)代码检出后处理任务post-deploy(如vendor)同步后更新软链前置任务pre-release

Walle代码发布

一.概述 Walle 一个web部署系统工具,配置简单.功能完善.界面流畅.开箱即用!支持git.svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布.回滚,可以通过web来一键完成. 功能列表:用户分身份注册.登录开发者发起上线任务申请.部署管理者审核上线任务支持多项目部署支持多项目多任务并行快速回滚项目的用户权限管理部署前准备任务pre-deploy(前置检查)代码检出后处理任务post-deploy(如vendor)同步后更新软链前置任务pre-release

手游公司运维之利用Rundeck自动化运维工具和Shell脚本构建测试环境代码发布平台和生产环境代码发布平台

在做手游运维工作之前,我接触的代码发布都是常规的软件发布,有固定的发布周期.之前工作的那个外企有严格的发布周期,一年中的所有发布计划都是由Release Manager来控制,每次发布之前都需要做一些准备工作,如填写发布表单,上传发布需要的资源文件,联系发布过程中的相关人员,如开发和测试.最后在公司内部开发的发布平台上按照指定的时间点击鼠标对一个集群内的几台主机或全部主机进行代码发布.这个发布平台还是基于rsync服务实现的.虽然每个星期都有各种服务的发布,但是整个发布流程是可以控制的,并且发布

唯快不破:Web 应用的 13 个优化步骤

时过境迁,Web 应用比以往任何时候都更具交互性.搞定性能可以帮助你极大地改善终端用户的体验.阅读以下的技巧并学以致用,看看哪些可以用来改善延迟,渲染时间以及整体性能吧! 更快的 Web 应用 优化 Web 应用是一项费劲的工作.Web 应用不仅处于客户端和服务器端的两部分组件当中,通常来说也是由多种多样的技术栈构建而成:数据库,后端组件(一般也是搭建在不同技术架构之上的),以及前端(HTML + JavaScript + CSS + 转译器).运行时也是变化多端的:iOS,Android,Ch

唯快不破:提升Web 应用的 13 个优化

时过境迁,Web 应用比以往任何时候都更具交互性.搞定性能可以帮助你极大地改善终端用户的体验.阅读以下的技巧并学以致用,看看哪些可以用来改善延迟,渲染时间以及整体性能吧! 更快的 Web 应用 优化 Web 应用是一项费劲的工作.Web 应用不仅处于客户端和服务器端的两部分组件当中,通常来说也是由多种多样的技术栈构建而成:数据库,后端组件(一般也是搭建在不同技术架构之上的),以及前端(HTML + JavaScript + CSS + 转译器).运行时也是变化多端的:iOS,Android,Ch

Linux系统架构师之代码发布解决方案

我今年19了!人生有多少22K? 所有实验环境初始化: 创建本地光盘Yum源,安装tree lrzsz vim,关闭iptables和selinux. 定义别名cls='clear',ll='ls -Alh'. 代码发布解决方案: 1.安装优化软件环境 2.程序代码 3.配置变更 SVN是跨平台的开源版本控制系统.SVN会备份并记录文件每一次的修改更新的变动. SVN是通用的软件系统,常用来管理程序代码.常见的版本控制软件有:VSS.CVS.SVN.Git. Git与SVN的区别: SVN是一个