一种特殊的Gitee自动构建实现脚本

作者:

在

现状是我们需要将Gitee的代码拉到服务器上进行自动部署。Gitee的webhook也能通知到我们的服务器url,但是webshell执行权限卡住了。

于时采用了一种曲线救国的方式,实现自动部署。这么晚了,直接帖代码好了。

#!/bin/bash

for i in {1..12} do echo $i echo “检测git更新”

if [ -f “/www/wwwroot/www.yue.ma/yuemagit.lock” ];then echo “发现git更新” if [ -f “/www/wwwroot/www.yue.ma/yuemagit.runing” ];then echo “已有作业在执行,跳过本次执行” else echo “抢锁执行” touch /www/wwwroot/www.yue.ma/yuemagit.runing cd /www/yuemagit/yuema/server git fetch –all git reset –hard origin/master git pull echo “git拉取完成” \cp -r /www/yuemagit/yuema/server/* /www/wwwroot/www.yue.ma/ echo “部署完成” rm -rf /www/wwwroot/www.yue.ma/yuemagit.lock echo “释放部署锁完成” rm -rf /www/wwwroot/www.yue.ma/yuemagit.runing echo “释放部署执行锁完成” fi else echo “未检测到git更新” fi

sleep 5

done

echo “本周期操作检测完,等下一个周期” if [ ! -f “/www/wwwroot/www.yue.ma/yuemagit.runing” ];then rm -rf /www/wwwroot/www.yue.ma/yuemagit.runing fi

经过今天的折腾,发现linux的sh脚本在进行文件操作的时候,话法还是很精炼的,正是如此,使用起来就得重新学习一下这种语法。尤其是检查文件是否存在的写法,真的是无法再精简了,如果使用某此语言,还得写关键词什么的,这里直接使用了一个-f,我的天啦,简直没谁了。

技术岛是首发地址,每天折腾一点点!

http://www.jishudao.com/2020/06/29/gitee_auto_deploy/

评论

发表回复