利用寶塔 webhook 插件 實(shí)現(xiàn)自動(dòng)拉取最新代碼

原理

當(dāng)版本庫(kù)代碼更新時(shí),通過(guò) git 的 webhook(git web 鉤子)觸發(fā) push 事件。用戶提交代碼(git push)服務(wù)器的寶塔 webhook 插件拉取當(dāng)前 git 最新代碼(git pull)。

步驟

1、CentOS 服務(wù)器安裝寶塔面板:寶塔面板

linux_pc_free.png

2、安裝 git:

yum install git

Tips: Git 生成 SSH 公鑰

3、寶塔面板軟件商店安裝 寶塔WebHook;


20191110195119.png

4、添加 HOOK 命令:

#!/bin/bash
echo ""
#輸出當(dāng)前時(shí)間
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#判斷寶塔WebHook參數(shù)是否存在
if [ ! -n "$1" ];
then
          echo "param參數(shù)錯(cuò)誤"
          echo "End"
          exit
fi
#git項(xiàng)目路徑
gitPath="/www/wwwroot/web/$1"
#git 網(wǎng)址
gitHttp="http://git.xxxxx.com/web/$1.git"

echo "Web站點(diǎn)路徑:$gitPath"

#判斷項(xiàng)目路徑是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判斷是否存在git目錄
        if [ ! -d ".git" ]; then
                echo "在該目錄下克隆 git"
                git clone $gitHttp gittemp
                mv gittemp/.git .
                rm -rf gittemp
        fi
        #拉取最新的項(xiàng)目文件
        git reset --hard origin/master
        git pull
        #設(shè)置目錄權(quán)限
        chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "該項(xiàng)目路徑不存在"
        echo "End"
        exit
fi

5、保存后,查看密鑰獲取調(diào)用地址:


20191110195333.png
http://IP地址:8888/hook?access_key=Ek5nOl6jXWOmTZLV0Hb4UXcfDbsdc3WCMpHJIdI6Dvl&param=www

參數(shù) param 為命令中的變量 $1

6、查看寶塔 webhook 日志,拉取是否成功


20191110195440.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容