生产上的部署脚本功能

简介: #!/bin/bash #author by jackluo #要过滤的文件 ExcludeFile=(api.md dev.md .git .gitignore .htaccess .project README.
#!/bin/bash
#author by jackluo

#要过滤的文件
ExcludeFile=(api.md dev.md .git .gitignore .htaccess .project README.md)
#定义要copy的目录
new_git_code_dir=/data/projects/你自己的git仓库路径
production_code_dir=/data/projects/你生产上面的路径/
#检查这个字段是否存在这个数组中
function in_array()
{
    local f=($1)
    local a=($2)
    for i in ${a[*]};do
        #检查是否在在过滤文件中,在就返回 1,不在就返回 0
        if [[ $i = $f ]];then
            return 1;
        fi
    done    
}

cd $new_git_code_dir

echo "拉取代码..."
start=$(date +%s)
git pull
end=$(date +%s)
time=$(( $end - $start ))
echo "代码拉取完成...完成用了 $time 秒"


#列出目录中所有的文件
LISTDIR=`ls $new_git_code_dir`

echo "开始复制代码..."
start=$(date +%s)

for d in $LISTDIR;do
    #检查是不在拷的范围内
    in_array "$d" "${ExcludeFile[*]}"
    if [[  $? = 1 ]] ; then
        continue
    else
       echo "正在拷 $d..."
       /bin/cp -a ${new_git_code_dir}/$d ${production_code_dir}
    fi
done

end=$(date +%s)
time=$(( $end - $start ))
echo "复制代码完成... 完成用了 $time 秒"
echo "更改目录权限..."
chown fpm:fpm ${production_code_dir} -R &> /dev/null
echo "部署完成"

 

目录
相关文章
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux 读取命令 read命令使用指南
【Shell 命令集合 文件管理】Linux 读取命令 read命令使用指南
377 0
|
存储 固态存储 安全
阿里云服务器最新价格参考,2024年阿里云服务器活动价格表及收费标准
进入2024年,阿里云服务器的活动价格又降价了,现在购买阿里云服务器年付最低仅需61元即可购买一台2核2G3M带宽的轻量应用服务器,而月付最低只需要30.06元即可购买一台2核4G3M带宽配置的云服务器,另外通用算力型u1实例2核4G、4核8G和8核16G等热门配置的活动价格在2024年也再次下降了,例如2核4G配置1M带宽20G ESSD Entry云盘,现在活动价格只要531.79元/1年了,选择5M带宽现在只要898.99元/1年了,下面是2024年阿里云服务器最新活动价格表。
阿里云服务器最新价格参考,2024年阿里云服务器活动价格表及收费标准
|
安全 搜索推荐 数据挖掘
什么是TikTok机房?有什么用?
TikTok机房是专为高效管理多个TikTok账号设计的系统或场所,配备大量硬件设备和海外代理IP,可模拟真实用户行为,提升内容推广效率。通过自动化工具批量操作,不仅能规避账号关联风险,还能实现精准营销并优化数据分析。使用时需注意合规性、安全性和数据保护。
|
自然语言处理 开发者
「Mac畅玩鸿蒙与硬件11」鸿蒙 UI 组件篇1 - Text和Button组件详解
本篇将详细介绍鸿蒙应用开发中的 Text 和 Button 组件。通过本篇内容,你将学习如何使用 Text 组件显示文本、格式化文本样式,以及如何使用 Button 组件处理点击事件并自定义样式。掌握这些基本组件的用法将为后续的 UI 开发奠定基础。
615 4
「Mac畅玩鸿蒙与硬件11」鸿蒙 UI 组件篇1 - Text和Button组件详解
|
机器学习/深度学习 算法 调度
AdEMAMix: 一种创新的神经网络优化器
9月发布的一篇论文中,Pagliardini等人提出了AdEMAMix,一种新的优化算法,旨在克服Adam及其变体(如AdamW)在利用长期梯度信息方面的局限性。通过结合两种不同衰减率的指数移动平均(EMA),AdEMAMix能够更有效地利用历史梯度信息。实验结果显示,AdEMAMix在语言建模和视觉任务中均显著优于AdamW,不仅能加速模型收敛,还能提高学习稳定性。尽管引入了额外计算步骤,但开销极小,展示了在大规模神经网络训练中的潜力。论文详细探讨了其核心思想、实验设置及未来研究方向。
381 8
AdEMAMix: 一种创新的神经网络优化器
|
存储 NoSQL 算法
Redis6入门到实战------ 三、常用五大数据类型(列表(List)、集合(Set)、哈希(Hash)、Zset(sorted set))
这是关于Redis 6入门到实战的文章,具体内容涉及Redis的五大数据类型:列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset(sorted set))。文章详细介绍了这些数据类型的特点、常用命令以及它们背后的数据结构。如果您有任何关于Redis的具体问题或需要进一步的帮助,请随时告诉我。
|
存储 固态存储 算法
OS—磁盘和固态硬盘
OS—磁盘和固态硬盘
366 0
|
数据采集 前端开发 JavaScript
HTML + CSS + JS 利用邮编查询 API 实现邮编查询工具
邮政编码是地址信息的重要组成部分,可以帮助快递公司、物流公司等对地址进行快速、准确的识别和派送。因此,邮编查询工具应用在许多业务场景中都有广泛的应用,例如:电商平台、物流公司、金融机构等。通过使用邮编查询 API,我们可以快速实现一个邮编查询工具应用,方便用户查询地址对应的邮政编码,提高业务流程的效率。
1007 0
|
前端开发
如何把input复选框如何变成好看的圆形
如何把input复选框如何变成好看的圆形
312 0
|
算法 程序员 数据库连接
深入探索C++中的RAII原则:资源管理的艺术 (In-Depth Exploration of RAII in C++: The Art of Resource Management)...
深入探索C++中的RAII原则:资源管理的艺术 (In-Depth Exploration of RAII in C++: The Art of Resource Management)...
488 2

热门文章

最新文章