1.背景介紹
當(dāng)我們?cè)诒镜貙?xiě)好一個(gè)項(xiàng)目測(cè)試完畢后 我們一般都要把它上傳到服務(wù)器上去
這里我們需要的操作都有什么呢
最低級(jí)的就是從本地打好war包上傳服務(wù)器
不過(guò)在實(shí)際上我們都會(huì)使用一些版本管理工具像svn
目的是多人合作開(kāi)發(fā)項(xiàng)目
任務(wù)三里面我們對(duì)此有一個(gè)詳盡的使用
今天我們就在這里來(lái)談一下如何從svn上自動(dòng)下載部署到服務(wù)器上
2.知識(shí)剖析
我們先談一下整體思路 要在svn上下載相關(guān)項(xiàng)目 然后服務(wù)器上打包
然后把war包放在容器內(nèi) 這里我用的resin 最后重啟resin
這些操作命令相信各位大佬都很熟悉 今天我們就用一個(gè)腳本實(shí)現(xiàn)一個(gè)命令解決
首先注意一下腳本文件的基礎(chǔ)
程序必須以下面的行開(kāi)始
#!/bin/sh
符號(hào)#!用來(lái)告訴系統(tǒng)它后面的參數(shù)是用來(lái)執(zhí)行該文件的程序况既。
當(dāng)編輯好腳本時(shí)这溅,如果要執(zhí)行該腳本,還必須使其可執(zhí)行棒仍。
要使腳本可執(zhí)行:編譯 chmod +x 這樣才能用./ 來(lái)運(yùn)行
3.常見(jiàn)問(wèn)題
?3.1.執(zhí)行權(quán)限問(wèn)題
?3.2.echo打印問(wèn)題
3. 3.打印變量問(wèn)題
4.解決方案
4.1悲靴,使用sh 執(zhí)行文件
4.2,echo 后面要有空格
4.3.用{}括起來(lái)
5.編碼實(shí)戰(zhàn)?
直接貼代碼把 更多更具體的可以看一下下文的視頻
cat deploy.sh
#!/bin/sh
echo 停止resin服務(wù)
sh /opt/stop.sh
echo 停止svn服務(wù)
cd /
killall svnserve
echo 刪除home下deploy
cd /home
rm -rf deploy/*
echo 從svn下載項(xiàng)目
cd deploy
svn co svn://120.92.4.210/student/task/trunk/baixiaoran/deploy
echo 項(xiàng)目打包
cd deploy
mvn install
echo 將war包復(fù)制到webapps下
cd target
cp *.war /home/resin-pro-4.0.53/webapps
echo 啟動(dòng)resin
sh /opt/start.sh
6.擴(kuò)展思考
這樣只能從固定的文件夾下自動(dòng)下載部署 ?如何自行決定從哪個(gè)文件夾下自動(dòng)部署
設(shè)置變量 使用read命令 讀取來(lái)自鍵盤輸入的變量?
ppt? ? ? ? https://ptteng.github.io/PPT/PPT-java/java-task2-When you deploy on a Linux server, what scripts do you usually have How do you write those scripts.html#/
我錄得小視頻鏈接:https://v.qq.com/x/page/s0545dnfxbz.html? 可以看我的實(shí)戰(zhàn)操作
推薦的免費(fèi)學(xué)習(xí)網(wǎng)站:http://www.jnshu.com/login/1/13397829