適應場景:前端包內含有內層資料夾如dataserver-web;
引數要求:service_path為前端元件的上層目錄,如…/web,不要具體到每個前端元件的資料夾。service_name為web下每個前端包解壓後的子資料夾名,如dataserver-web;
內容說明:指令碼中選取的包型別為zip,如為其他型別如tar.gz,請修改獲取報名以及包解壓部分命令。
#!/bin/bash
curr_dir=
$(pwd
)#獲取分發到節點的包名
package_name=
$(find
. -name "*.zip"
|awk -f'/''')
echo
"即將部署$package_name"
#檢視部署前部署路徑下的內容
ls$ -l
#備份原檔案
backup_service(
)* ]
;then
/bin/mv $backup_path/$* $backup_path/history/a=`
echo $?`if[
$a== 0 ]
;then
echo
"$ 前一次備份移動成功"
else
echo
"$ 前一次備份移動失敗"
exit 2
fielse
echo
"不存在前一次備份,不處理"
fiecho -e "備份本次上線前部署目錄中的內容..."
if[ -d $/$];
then
mkdir -p $backup_path/$.`
date +%y%m%d_%h%m%s`cd$
/bin/mv $/$* $backup_path/$*/b=`
echo $?`if[
$b== 0 ]
;then
echo
"$ 本次上線前資料備份成功"
else
echo
"$ 本次上線前資料備份失敗"
exit 2
fielse
echo
"部署路徑$中不存在$service_name,不做備份"fi}
#部署方法
deploy_service()$
cd$unzip -o $
>/dev/null 2>
&1#tar -zxvf $ >/dev/null 2>&1
sleep 2c=`
echo $?`if[
$c== 0 ]
;then
echo
"$ 部署成功"
else
echo
"$ 部署失敗"
exit 2
fi#echo "開始重啟ngnix,請等待~"
#$/nginx -s reload > /dev/null 2>&1 &
}#部署前的一些檢查:部署目錄、備份目錄是否賦值、是否存在
echo
"確認部署目錄存在"if[
!$];
then
echo
"service_path此引數未設定,請檢查!"
exit 1
elif[!
$];then
echo
"backup_path此引數未設定,請檢查!"
exit 1
elif
[! -d $];
then
echo
"部署目錄不存在,初次部署,自動建立該目錄!"
mkdir -p $
deploy_service
else
backup_service
deploy_service
fi
Linux部署前端指令碼
在沒有自動化部署的情況下,每次提交完 都要在伺服器上拉 然後build,很麻煩,這裡寫了乙個小指令碼完成拉 build,實時列印log的功能,命名為run.sh,每次上傳 後,進入到指定的資料夾直接.run.sh就可以了。指令碼 echo when build complete,press ctrl...
JQuery頁面前端遍歷樣例
jquery遍歷1 cssclass遍歷元素 將所有的checkbox設定為未選中,採用遍歷的方法來完成 控制項如下 清空職位 導購 收銀員店長 jquery 如下 jobpostajoblistselected是checkbox被選中時的css stopdefault函式用於中止預設的事件響應 c...
MySQL 庫 和 樣例表 建立指令碼
1.建立庫 create database if not exists test default character set utf8 collate utf8 general ci 1 character set 指定字符集 2 collate 排序方式,可以不指定,缺省會根據字符集變化而變化 3...