宝塔面板使用WebHook 更新nuxt网站

黄良钵

分类: 网站建设 0 4

PS:注意需要关闭宝塔basicAuth认证,否则推送会报401错误(2019年09月11日14:36:52)

首先在宝塔中安装WebHook插件:

然后添加一个Hook

填入名称,规则可以随便填,待会在改

提交后,在列表中点击编辑,然后参考下面的代码修改为你需要的

#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then 
          echo "param参数错误"
          echo "End"
          exit
fi
#git项目路径 就是你服务器网站允许的地址
gitPath="/www/wwwroot/xn__nf1a578axkh_xn__fiqs8s/$1"
#git 网址
gitHttp="git@github.com:hlbj105/$1.git"

echo "Web站点路径:$gitPath"

#判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                git clone $gitHttp gittemp
                echo "git地址:$gitHttp"	
                mv gittemp/.git .
                rm -rf gittemp
        fi
        #拉取最新的项目文件
		git fetch --all
		git reset --hard origin/master
        git pull
        #设置目录权限
        chown -R www:www $gitPath
        # 下面是pm2操作
	pm2 show
        # 重启 pm2 进程,其中blog为你需要重启的进程名或者id
        pm2 restart blog
        echo "End"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi

点击保存后,点击查看密钥,保存下WebHook地址

http://面板地址或者ip/hook?access_key=123&param=aaa
access_key 为上面的秘钥
param 为你自定义的传值,在脚本中用$1接收,目前用于git项目名

然后在github那边设置Hook

点add webhook后,去提交代码试试看有没有成功

在宝塔webhook那边有个日志,可以查看是否成功,或者看你网站有没有成功更新

  • 0人 Love
  • 0人 Haha
  • 0人 Wow
  • 0人 Sad
  • 0人 Angry

作者简介:黄良钵

打赏

博客站长,前端开发工程师

共 4 条评论关于 “宝塔面板使用WebHook 更新nuxt网站”

Loading...