vue 部署 腳本 自動部署

用VueJs開發(fā)快兩年了,不得不說Vue是個好框架,當時在前期部署的時候每次都很頭疼,因為次次都要很麻煩,不同的環(huán)境,測試機, 需要管理很多ip用戶名,所以想封裝一個腳本,只需要修改對應(yīng)的配置文件,就可以一個命令去部署

廢話不多說,在這個腳本運行前,需要配置部署機器的ssh key 到服務(wù)器的用戶下,具體可以參考
http://www.itdecent.cn/p/fab3252b3192(ps:雖然很想自己寫一個詳細的,無奈手太懶)

看看webpack的配置config.js 中 assetsPublicPath 配置項 為 /

然后在vue項目根目錄下創(chuàng)建兩個文件

deploy.conf

prod_branch=生產(chǎn)分支名
prod_host=生產(chǎn)機器ip
prod_user=生產(chǎn)機器用戶
prod_path=項目路徑

test_branch=測試環(huán)境分支名
test_host=測試環(huán)境機器ip
test_user=測試環(huán)境機器用戶
test_path=測試環(huán)境項目路徑

deploy.sh

#!/bin/sh
#獲取環(huán)境名
env=''

if [ x$1 != x ];then
    env=$1
else
    env='prod'
fi

#獲取當前分支名
curr_branch=`git symbolic-ref --short -q HEAD`
echo '當前工作分支 => '${curr_branch}'\n'

echo '讀取配置文件:'
deploy_branch=`sed '/^'${env}_branch'=/!d;s/.*=//' deploy.conf`
deploy_host=`sed '/^'${env}_host'=/!d;s/.*=//' deploy.conf`
deploy_user=`sed '/^'${env}_user'=/!d;s/.*=//' deploy.conf`
deploy_path=`sed '/^'${env}_path'=/!d;s/.*=//' deploy.conf`
echo '分支 => '${deploy_branch}
echo '地址 => '${deploy_host}
echo '用戶 => '${deploy_user}
echo '路徑 => '${deploy_path}
echo '\n'

echo '儲存當前修改'
git stash 
echo '\n'

echo '切換到需發(fā)布的分支 => '${deploy_branch}
git checkout $deploy_branch
echo '\n'

echo '編譯項目'
npm run build
echo '\n'

echo '刪除老版本'
ssh ${deploy_user}@${deploy_host} "rm -rf "${deploy_path}
echo '上傳新版本'
scp -r ./dist ${deploy_user}@${deploy_host}:${deploy_path}
echo '\n'

echo '切回工作分支 => '${curr_branch}
git checkout $curr_branch
echo '\n'

echo '釋放修改'
git stash pop
echo '\n'

echo '部署成功'

使用 sh deploy.sh prod sh deploy.sh test 或者配置其他環(huán)境

后期我會把它封裝成個npm包,直接用命令配置解決這些問題

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

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