宝塔添加webhook脚本拉取程序代码


webhook的方式做一个监听,在git仓库管理平台添加webhook后可以实时同步代码到项目。


①在宝塔安装webhook插件

image.png

②添加脚本

image.png

我监听某个仓库提交并拉取dev分支示例:

#!/bin/bash
echo ""
# 输出当前时间
echo $(date --date='0 days ago' "+%Y-%m-%d %H:%M:%S")
echo "Start"
# git 项目路径
gitPath="/www/wwwroot/yourWebsite"
# git 网址
gitHttp="你的git ssh地址"

echo "Web 站点路径:$gitPath"

# 判断项目路径是否存在
if [ -d "$gitPath" ]; then
    cd $gitPath
    
    # 判断是否存在 git 目录
    if [ ! -d ".git" ]; then
        echo "在该目录下克隆 git"
        git clone -b master $gitHttp . && echo "克隆成功" || { echo "克隆失败"; exit 1; }
    else
        echo "Git 目录已存在,开始更新"
    fi
    
    # 切换到 master 分支
   # echo "切换到 dev 分支"
    git checkout dev
    echo "拉取最新的项目文件"
    git  pull
    #git reset --hard origin/dev
    # 拉取最新的项目文件,并输出结果
   
    # 设置目录权限
    echo "更新完成"
    chown -R www:www $gitPath
    echo "End"
    exit 0
else
    echo "该项目路径不存在"
    echo "End"
    exit 1
fi

③测试结果

image.png

评论/留言