有一些前端項目,沒有獨立的的各環境部署流程,須要依附後臺項目的靜態服務來一同部署,這種狀況下,前端同窗提交一次代碼將會是很繁雜的操做html
- 修改代碼
- 打包項目
- 前端項目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}
複製代碼
項目地址linux
shell
文件放在了與先後端項目同級的目錄下。也能夠把它放在後端項目的靜態目錄下,記得把它添加進.gitignore
避免提交就能夠了。git bash(windows
)或終端(linux)
中進入shell
文件目錄下,使用sh
命令便可執行shell
文件:sh ./shell-tool.sh
。shell
命令和git
命令的堆砌,但也學了一些東西