參考:
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上,不用設置密碼。