php宝塔面板webhook使用
文章 188 0 0 0
发布时间:2022年02月19日

概述

WebHook,可设置回调脚本,通常用于第三方回调通知!

安装宝塔WebHook

在宝塔面板找到软件商店->搜索WebHook,点击右侧安装,如图。

添加名称和执行脚本

安装完毕,点击右侧设置添加标题和脚本。

标题——根据项目命名更容易识别。
执行脚本——如下:

#!/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项目路径(这里需要配置,$1为运行传入脚本的第一个参数,coding那边配置)
gitPath="/www/wwwroot/xxx/$1"
# git 网址(ssh的地址)
gitHttp=""
echo "Web站点路径:$gitPath"

#判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                sudo git clone $gitHttp gittemp
                sudo mv gittemp/.git .
                sudo rm -rf gittemp
        fi
        echo "拉取最新的项目文件"javascript:;
        sudo git reset --hard origin/master
        sudo git pull       
        echo "拉取结束End"
        exit
else
        echo "该项目路径不存在"
                echo "新建项目目录"
        mkdir $gitPath
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                sudo git clone $gitHttp gittemp
                sudo mv gittemp/.git .
                sudo rm -rf gittemp
        fi
        echo "拉取最新的项目文件"
        sudo git reset --hard origin/master
        sudo git pull
        echo "设置目录权限"
        sudo chown -R www:www $gitPath
        echo "End"
        exit
fi

查看密钥

添加完毕以后查看当前脚本秘钥。

配置推送仓库

登录码云,找到WebHook,点击添加WebHook

点击跳转新增界面如下

把刚才宝塔上的密钥以及路径复制过来,对应填写,勾线事件点击添加。

配置公钥

  • 部署公钥允许以只读的方式访问仓库,主要用于仓库在生产服务器的部署上,免去HTTP方式每次操作都要输入密码和普通SSH方式担心不小心修改仓库代码的麻烦。

  • 部署公钥配置后的机器,只支持clone与pull等只读操作。如果您想要对仓库进行写操作,请 添加个人公钥
    点击设置->部署公钥管理,如图

找到宝塔公钥

//到相应目录下
cd ~/.ssh
// ls查看当前目录文件
ls
// 打开公钥文件
cat id_rsa.pub

添加即可,点击WebHook测试按钮,查看一下日志。

评论专区