歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux下實現svn自動拉取代碼並發布

正常在發布項目的時候是將項目打包成war包,並將代碼上傳到服務器中,運行服務器,整個過程較為復雜,在測試過程中會涉及到多次代碼的修改,重新打包發布,這樣就很不友好,接下來就簡單介紹一種方法,只要執行一個shell腳本文件就能把整個過程全部搞定。

第一步:安裝svn,服務器中一定要安裝svn,應為在更新代碼的時候會用到svn相關的命令。具體安裝過程看我的另一篇博客http://blog.csdn.net/millery22/article/details/51218491。

第二步:安裝maven,同上一步一樣,在執行shell腳本的過程中需要用到maven相關的命令,因為項目采用的是maven項目,具體安裝過程請參看我的另一篇博客http://blog.csdn.net/millery22/article/details/51322497。

第三步:上面個步驟完成,就開始實現功能了。

[root@iZ288xv4ewfZ ~]# cd /usr/local/src  #進入src目錄
[root@iZ288xv4ewfZ src]# mkdir maven  #創建maven目錄
[root@iZ288xv4ewfZ src]# cd maven  #進入maven目錄
[root@iZ288xv4ewfZ maven]# svnco svn://www.minuor.com(ip或者域名)/minuor/trunk./  #將svn指定位置的代碼檢出到當前的目錄下
[root@iZ288xv4ewfZ maven]# ll  #查看到當前目錄下有一個或多個,就是trunk下的所有項目
[root@iZ288xv4ewfZ maven]# cd minuor  #進入其中一個項目中
[root@iZ288xv4ewfZ minuor]# svn up  #表示更新代碼,讓當前目錄下是當前項目的最新代碼
[root@iZ288xv4ewfZ maven]# mvn -U clean install  #編譯打包項目,打包結束後或在當前目錄下多出一個target目錄,這個目錄中就存在打包好的war包
到這裡代碼的拉取和編譯打包過程就完成了,這裡就可以將war包發布到tomcat服務器中運行了。但是這個不是我們想要的,過程還是挺多的,但是此時我們可以將這些步驟寫在shell腳本中,只要執行一次shell腳本就可以完成了。

shell腳本內容如下:

#!/bin/sh #這是shell腳本的頭,必須要
echo">>>>>>>>>>>>>>>>>>>>>>>>update code"
cd /usr/local/src/maven/minuor/  #進入項目代碼所在位置
svn up #執行更新
mvn -U clean install  #編譯打包
echo">>>>>>>>>>>>>>>>>>>>>>>>stop tomcat"
/minuor/tomcat/minuor/bin/catalina.shstop  #這裡是停止tomcat
sleep 5s
echo">>>>>>>>>>>>>>>>>>>>>>>>move file"
rm -rf /minuor/tomcat/minuor/webapps/*  #移除tomcat內webapps下的所有內容
cp /usr/local/src/maven/minuor/target/minuor-1.0.0.war/minuor/tomcat/minuor/webapps/ROOT.war  #將打包編譯好的項目移動到tomcat內webapps下,並改名為ROOT.war
echo">>>>>>>>>>>>>>>>>>>>>>>>start tomcat"
/minuor/tomcat/minuor/bin/catalina.shstart  #啟動tomcat
tailf/minuor/tomcat/minuor/logs/catalina.out #輸出tomcat啟動日志
注意:

1、 在使用上面的腳本時請去除後面的注釋

2、 echo表示輸出內容,相當於在控制台打印日志

3、 運行腳本之前給腳本文件755權限,命令如下:

[root@iZ288xv4ewfZ maven]# chmod 755 shell.sh
4、 運行腳本文件命令是./shell.sh

5、 如果這個腳本文件是在Windows系統下編輯好上傳到svn下的,請注意文件的類型,防止運行不了。

查看和修改文件類型(假設shell腳本名稱為shell.sh):

[root@iZ288xv4ewfZ maven]# vi shell.sh  #查看文件
:set ff #看出來的類型是不是非unix類型

:set ff=unix #設置文件類型為unix類型

保存腳本文件,重新運行腳本文件

shell腳本最好放置在maven目錄下,防止出現問題。

Copyright © Linux教程網 All Rights Reserved