Git实现线上自动拉取提交实现自动发布

线上项目一般是通过拉取Git,每次修改都得在线上执行git pull比较麻烦。

那么可以通过定时监听git是否有新的提交实现自动更新、编译发布,适用于PHP、Go、Node前端等项目。

这里用Vue项目举例:

第一步,新建build.sh

#usr/bash

git fetch origin
# 判断有没有更新
if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ]
then
  echo "有新的提交,执行build"
  git pull origin
 else
  echo "没有新的提交"
  exit 0
fi

# 安装依赖并打包
npm run build

# 部署到线上web
rm -rf /www/wwwroot/www_pc/*
cp -r ./dist/* /www/wwwroot/www_pc/

第二步,创建定时任务

通过crontab每分钟执行一次该脚本即可