背景
有一些前端專案,沒有獨立的的各環境部署流程,需要依附後臺專案的靜態服務來一同部署,這種情況下,前端同學提交一次程式碼將會是很繁雜的操作
- 修改程式碼
- 打包專案
- 前端專案git提交
- 拉取後臺專案最新程式碼
- 刪除後臺專案的靜態服務目錄下,舊的前端打包資源
- 把新的前端資源複製到靜態服務目錄下
- 後臺專案git提交
一次兩次的上線還可容忍,但測試階段,修改bug時,就需要不停重複上述流程,來部署測試環境。忍無可忍,無須再忍。。。
使用shell
指令碼組合這一系列的操作,省時省力
#!/bin/bash
# 進入後臺專案 靜態資源目錄 =======
cd ./background-project/web/src/main/resources/static/
# 獲取當前分支 =======
branch=$(git symbolic-ref --short HEAD)
# 拉去當前分支最新程式碼 =======
git pull origin "$branch"
echo -e "\n\nbackground-project專案當前的分支為: $branch"
read -p $'\n\n請確認分支,是否繼續操作?y or n: ' isContinue
if [ "$isContinue" != 'y' ];then
exit
fi
# 替換檔案 =======
# 刪除舊的打包資源
rm -r ./static
rm index.html
# 複製新的打包資源到後臺目錄下
cp -r ../../../../../../fe-project/dist/* ./
git status
read -p $'\n\n已替換檔案成功,是否繼續提交操作?y or n: ' isContinueSubmit
if [ "$isContinueSubmit" != 'y' ];then
// 撤銷此次複製操作
git reset --hard HEAD
git clean -f
exit
fi
# git提交 =======
git add .
read -p $'\n\n請輸入您的commit資訊: ' commitInfo
git commit -m ${commitInfo}
git push origin ${branch}
複製程式碼
使用
- 本人把
shell
檔案放在了與前後端專案同級的目錄下。也可以把它放在後端專案的靜態目錄下,記得把它新增進.gitignore
避擴音交就可以了。 - 自行修改前端專案打包資源路徑、後端專案靜態資源目錄路徑
git bash(windows
)或終端(linux)
中進入shell
檔案目錄下,使用sh
命令即可執行shell
檔案:sh ./shell-tool.sh
。