寶塔利用git+ webhooks 實現git更新遠程同步Linux服務器


參考:

https://blog.csdn.net/alipea/article/details/83858177

https://www.bt.cn/bbs/thread-5348-1-1.html

如果你發現碼雲上能正確觸發但是卻更新不了,那可能就是權限問題,具體要什么寫webhook上的代碼,請看:

https://www.bt.cn/bbs/thread-7485-1-1.html

 

我在這里做個總結吧,現在是2019年12月22號。

其實根本不用公鑰,也不用設置

 

 

 

步驟:

1.先在寶塔按照好webhook和git

2.然后在你服務器上拉取代碼,然后用命令更新確保是否能更新!

3.然后編輯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項目路徑
gitPath="/www/wwwroot/$1"
#git 網址
gitHttp="https://gitee.com/name/$1.git"

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 "拉取最新的項目文件"
        sudo git reset --hard origin/master
        sudo git pull        
        echo "設置目錄權限"
        sudo chown -R www:www $gitPath
        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

這里的代碼加了sudo,意思是獲取最高權限。

記住!,這些設置完成之后記得重啟寶塔面板!重啟寶塔面板!重啟寶塔面板!

4.最好把你的項目文件夾的所有者設置為www。

5.如圖:

 

 網址記得帶上端口號,就是你可以訪問寶塔的端口號:ip:端口號,這里的access_key就是你的webhook的密鑰,param是你項目的名字

6.把你這個網址設置到碼雲-管理-webhook上,不用設置密碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM