通常網站部署的流程 這邊是完整流程而不是簡化的流程
需求分析—原型設計—開發代碼—內網部署-提交測試—確認上線—備份數據—外網更新-最終測試
,若是發現外網部署的代碼有異常,須要及時回滾,通常是運維來作。git
一、功能測試 二、上線的時間 三、 jenkins 四、運維 五、功能測試shell
咱們能夠經過jenkins工具平臺實現全自動部署+測試,是一個可擴展的持續集成引擎,是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。Jenkins很是易於安裝和配置,簡單易用。
簡單來講方便以下人員:api
1.建立Jenkins項目服務器
登陸Jenkins,點擊新建項目 運維
2.丟棄舊的構建 (保留7天,最大構建的最大數100)工具
3.碼雲獲取HTTP地址 http://172.16.1.161/auto_test/byxf_qa.git測試
4.Jenkins中配置碼雲中的地址,並添加登陸名密碼網站
1.登陸部署項目服務器spa
2.執行腳本.net
3.腳本內容以下
pwd
cd /root/
mv -f /root/api_auto/static /root/static (移動static下面的全部內容,主要爲了保存上傳服務器的文件,圖片,excel等 )
rm -rf api_auto/* (刪除api_auto文件夾下全部內容)
a=`netstat -apn|grep 9000` (執行shell命令並獲取結果)
echo $a
if [ -n "$a" ]; then (判斷若是有返回值)
echo "端口不爲空 匹配端口殺掉進程"
port=`netstat -apn|grep 9000|awk '{ print $7 }'|awk -F/ '{ print $1 }' ` (獲取匹配到端口的進程id)
echo $port
kill -9 $port (殺掉進程)
fi
pwd
echo "api_auto目錄已被清空"
4.將代碼拉倒項目目標服務器上
5.繼續登陸139服務器,啓動服務便可
當咱們在終端或控制檯工做時,可能不但願因爲運行一個做業而佔住了屏幕,由於可能還有更重要的事情要作,好比閱讀電子郵件。對於密集訪問磁盤的進程,咱們更但願它可以在天天的非負荷高峯時間段運行(例如凌晨)。爲了使這些進程可以在後臺運行,也就是說不在終端屏幕上運行,有幾種選擇方法可供使用。
這樣,全部的標準輸出和錯誤輸出都將被重定向到一個叫作out.file 的文件中。
若是使用nohup命令提交做業,那麼在缺省狀況下該做業的全部輸出都被重定向到一個名爲nohup.out的文件中,除非另外指定了輸出文件:
ctrl + z
能夠將一個正在前臺執行的命令放到後臺,而且處於暫停狀態。
Ctrl+c
終止前臺命令。
jobs
查看當前有多少在後臺運行的命令。
jobs -l選項可顯示全部任務的PID,jobs的狀態能夠是running, stopped, Terminated。可是若是任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識。
echo "在139服務了"
cd /root/api_auto/
rm -rf /root/api_auto/static (刪除從git上拉下來的static文件夾)
cp -rf /root/static /root/api_auto/static (複製原來的static文件夾)
rm -rf /root/static (再把原來的刪除掉)
pwd
mkdir log (建立日誌文件夾)
chmod u+x *.sh
echo "完成"
參考博客地址:https://blog.csdn.net/a877415861/article/details/74544086