視頻連接:https://v.qq.com/x/page/o0514nmsknk.html?ptag=qqbrowser
君不見,發(fā)布代碼兩眼淚汪汪,
tar包是誰,war包又是誰,他們?yōu)楹螘谶@里,他們又將變成什么,修真院將帶您解密:服務(wù)器手動發(fā)布代碼
一、背景介紹
代碼發(fā)布是開發(fā)人員必備的技能,從svn到開發(fā)環(huán)境,從開發(fā)環(huán)境到測試環(huán)境,再從測試環(huán)境到線上環(huán)境,在沒有腳本的情況只能手動發(fā)。
所以,優(yōu)先寫腳本,其次是手動發(fā)
寫腳本的前提是熟悉手動發(fā)的步驟,然后寫成腳本,發(fā)布時執(zhí)行腳本
現(xiàn)在我們來看看怎么才能手動發(fā)布→_→
二、知識剖析
2.1、數(shù)據(jù)庫變動:
有sql變動的話,整理好sql語句成*.sql文件的格式,到相應(yīng)的環(huán)境的數(shù)據(jù)庫中執(zhí)行,執(zhí)行之前,用mysqldump命令備份相應(yīng)的數(shù)據(jù)庫,進入到數(shù)據(jù)庫中用source命令執(zhí)行。
2.2 打包方式:
? ? ?1、web/home:打成war包
? ? ? ? 如:skill-admin-home.war
? ? ?2、service:打成tar包,
? ? ? ? 如skill-service.tar.gz
? ? ? 3、core :打成jar包,如skill-core.jar

2.3 打包:
本地:
1、用maven clean install,web需要在pom里面配置

服務(wù)器:
1、web:在web下執(zhí)行mvn clean install,打包
生成的包在graship-home-web/target下
2、service:
/data/sources/graship/trunk/graship-home-service下執(zhí)行
mvn clean install -Dmaven.test.skip=true assembly:assembly
生成tar.gz包在graship-home-service/target下
3、core
問題1:
怎么看web或者service里面引用的是哪個core包呢???
2.4、傳包
scp命令
scp -P 端口號? *.war root@IP:目錄
2.5、刪除舊文件夾
刪除原有的run下除了temp外的文件夾,

問題2:為什么不刪除temp文件夾,刪除了會怎樣?
2.6、解壓
1、war:jar -xvf 包名
2、tar: tar -zxvf 包名
2.7、重啟
web容器(jetty/resin)以及service(deploy文件夾下的stop.sh/start.sh)
2.8、改動文件
對于group.xml文件里面配置的數(shù)據(jù)庫配置,有些需要修改為相應(yīng)的環(huán)境的數(shù)據(jù)庫
路徑:/data/sources/graship/trunk/graship-home-service/target/classes
三、更多討論
問題1:為什么service/web會有兩種目錄結(jié)構(gòu)?
答:一個是包解壓后的文件夾,一個是原始代碼,當然不一樣啦,
問題2:解壓壓縮包需要在哪里執(zhí)行?
答:都在相應(yīng)的web和service文件夾下執(zhí)行解包和解壓縮即可。
附:PPT鏈接:http://pan.baidu.com/s/1kVLteez
更多有味道的知識,就在IT修真院哦