Ant + SvnLib实现自动更新,编译,打包,发布部署

每次修改点东西后,重新发布的时候要从svn上将最新代码更新下来,重新编译打包,停掉服务器,把打好的包传上去,如果是WebSphere这样的web服务器的话,还要一步一步的部署,然后在启动服务器,感觉麻烦,搞程序开发的就是这样,懒,能自动处理的绝不手动做,能点一下完成的绝不点第二下,我就想能不能搞个脚本什么的一下就将这些事情搞完,就用ant 和 SVNKit弄了一下。

原理就是利用脚调用ant ,通过ant调用SVNKit的类来检出代码,然后编译,打成war包,在停掉服务器,将war包拷到服务器上,然后启动服务器就ok了,下面就开始吧

需要的东西(点击下边连接百度云下载)
 1、ant
 2、SVNKit(一些jar包)
 3、javaee.jar(编译时需要这个jar包)

点击此处下载所需要的东西

1、下载ant的安装包apache-ant-1.9.3-bin.tar.gz

2、解压到一个目录,比如/opt下

3、如果bin目录下的ant文件没有执行权限,切换到bin目录下,用chmod +x ant添加执行权限

4、配置环境变量,使ant命令在任意位置都可以用

在/etc/profiles文件最后添加如下(注意路径要写对)

PATH=$PATH:$HOME/bin
export ANT_HOME=/opt/apache-ant-1.9.3
export PATH=$ANT_HOME/bin:$PATH
export PATH

保存并退出

执行source /etc/profiles,使修改的环境变量生效

5、将SVNKit的jar和javaee.jar包复制到一个制定目录下,我将SVNKit的jar包都放到/opt/apache-ant-1.9.3/svnlib下了,将javaee.jar放到/opt/apache-ant-1.9.3/下了,这个位置随意只要下边写build文件时把路径搞对了就可以

6、就是写build.xml文件和脚本了,下载的文件里有,只要把相应的地方(标红的部分)改对就行

/opt/build.xml文件内容



 
    
     
    
    
    
      
    
    
    
    
    
    
    
    
    
     
     
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
    
    
        
    
 
    
    
        
            
        
        
            
        
    
 
    
    
        
            
        
    
 
    
    
        
        
         
        
        
            
            
            
            
            
            
            
        
    
 
    
    
        
    
 
    
    
        
        
        
        
            
        
         
        
        
        
            
            
        
    
 
    
    
        
        
        
    

到这其实就可以自动从svn上检出并打包了,但是还不能自动部署,其实tomat部署就是停掉服务器,将原来部署的删掉,在将新的复制过去就行了

这一过程我们用一个shell脚本来完成

编写shell脚本publish(放到/bin下就不用再设置环境变量了,直接就可以执行,记得添加可执行权限哈)
#vi /bin/publish
脚本内容

!/bin/bash
#调用ant打包
cd /opt
ant
#停止服务器
cd /opt/apache-tomcat-8.0.9/bin
./shutdown.sh
#删除包
cd /opt/apache-tomcat-8.0.9/webapps
rm -rf ROOT
rm -rf ROOT.war
#拷贝war包
rq=` date +%Y%m%d `
cp /cfiles/publish/$rq/ROOT.war /opt/apache-tomcat-8.0.9/webapps
#启动服务器
cd /opt/apache-tomcat-8.0.9/bin
./startup.sh
给脚本添加可执行权限
# chmod +x /bin/publish
 
ok了,build.xml和publish脚本中注释都挺清楚的,执行publish脚本就可以了

以上转载其他地方:http://www.nontrace.com/articles/2014/12/06/1417851702121.html


你可能感兴趣的:(系统架构)