通過寶塔的webhook插件,實現把碼雲上的項目自動同步到web服務器

通過寶塔的webhook插件,實現把碼雲上的項目自動同步到web服務器指定路徑下

  1. 確保web服務器裏安裝了git 可通過git –version查看
  2. 進入寶塔面板,軟件管理-》寶塔插件,搜索wekhook,然後安裝即可

  1. 添加hook

腳本內容:

腳本代碼:

#!/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/zixue"
#git 網址
gitHttp="[email protected]:xxxx.git"
 	
echo "Web站點路徑:$gitPath"
 
#判斷項目路徑是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判斷是否存在git目錄
        if [ ! -d ".git" ]; then
                echo "在該目錄下克隆 git"
                git clone $gitHttp gittemp
                mv gittemp/.git .
				rm -rf gittemp
        fi
        #拉取最新的項目文件
        git reset --hard origin/master
        git pull
        #設置目錄權限
        chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "該項目路徑不存在"
        echo "End"
        exit
fi

注意:添加完後,點擊編輯查看腳本內容是否正確,在上圖輸入框輸入的命令會被過濾,所以要重新添加shell命令進去

  1. 查看祕鑰

接下來就是在碼雲等其他平臺裏做配置了,這裏以碼云爲例

  1. 打開碼雲倉庫,添加WebHooks

  1. 設置私有倉庫代碼同步

首先登錄服務器 輸入命令cd ~/.ssh && ls查看有沒有SSH key

如果沒有,使用命令ssh-keygen -t rsa -C "[email protected]"生成。如下圖所示:

複製好id_rsa.pub文件內容後,打開碼雲的私有項目,依次點擊:管理->添加公鑰,如圖:

在碼雲上添加好公鑰後,使用ssh -T [email protected]測試SSH連接:

 

更改寶塔hook腳本中的倉庫地址爲碼雲私有項目倉庫的SSH連接地址

至此完畢,如果不成功,可以嘗試更新一下webhook

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章