使用宝塔部署node项目_使用宝塔面板进行项目的自动部署WebHook
首先你要知道什么是WebHook,如果你真的不想知道那也沒關系。總之就是在你push到git倉庫時會從git倉庫觸發一個http請求。關于http的地址根據你不同的git倉庫有不同的方式去配置。
首先配置寶塔面板,你需要安裝寶塔插件中的 WebHook
隨便起一個名字然后保存
這時你會在列表中看到新增加的名稱,點擊查看密鑰 獲取密鑰并配置到git倉庫中,如下gitee.com倉庫
注意ip和端口號之間有一個冒號 :
關于使用git ssh 需要你配置ssh密鑰,可以使用
ssh-keygen -t rsa -C “name@mail.com”如果沒有才執行這個命令并將公鑰設置為部署公鑰
查看命令是 cat ~/.ssh/id_rsa.pub
如下代碼點擊編輯后輸入并保存
需要替換gitPath的項目儲存路徑和 gitSSH 為你的項目的gitSSH地址信息
#!/bin/bash
#輸出空白行 隔斷
echo ""
#輸出當前時間
date +"%Y-%m-%d %H:%M.%S"
echo "Start"
#判斷寶塔WebHook參數是否存在
#if [ ! -n "$1" ];
#then
# echo "param參數錯誤"
# echo "End"
# exit
#fi
#git項目路徑
gitPath="/www/wwwroot/www.daohang.dev"
#git 網址 這里要修改成你的倉庫地址
gitSSH="git@gitee.com:yanlong-li/daohang.dev.git"
# 定義自定義腳本的文件名稱
buildScript="buildScript.sh"
echo "Web站點路徑:$gitPath"
#判斷項目路徑是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
#判斷是否存在git目錄
if [ ! -d ".git" ]; then
echo "在該目錄下克隆 git"
git clone $gitSSH gittemp
mv gittemp/* gittemp/.[^.]* .
rm -rf gittemp
fi
#拉取最新的項目文件
#git reset --hard origin/master
echo "正在拉取遠程代碼"
git pull
#設置目錄權限
#chown -R www:www $gitPath
echo "拉取結束"
else
echo "該項目路徑不存在"
echo "End"
exit
fi
# 下面是自定義的一個腳本,用于自定義的執行動作 如果不需要可以刪除
if [ -f "$buildScript" ]; then
chmod +x $buildScript
./$buildScript
else
echo '不存在執行腳本';
fi
echo "腳本執行結束"
下面是我用來編譯 Vue的一個腳本,也一起放上來
前提你要安裝了 mp2管理器 或者手動安裝了 node+npm
# 編譯腳本 buildScript.sh
logUpdatePath="log/update"
logBuildPath="log/build"
# 更新依賴
logDate=$(date +"%Y-%m-%d-%H-%M")
if [ ! -d "$logUpdatePath" ]; then
mkdir -p $logUpdatePath
fi
if [ ! -d "$logBuildPath" ]; then
mkdir -p $logBuildPath
fi
echo "更新依賴"
npm install
echo "編譯項目"
npm run build
echo "設置權限"
chown -R www:www dist/[^.]*
echo "運行結束"
注意 有時候可能在Webhook中無法識別到node和npm,重裝WebHook即可
使用圖中的方法進行新建一個,然后提交后點擊測試,然后查看日志,如果是空白則需要重裝WebHook
總結
以上是生活随笔為你收集整理的使用宝塔部署node项目_使用宝塔面板进行项目的自动部署WebHook的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java OutputStream的wr
- 下一篇: flutter生成源代码_Flutter