• svn代码发版的脚本分享


    背景:开发将其代码放到svn里面,如何将修改后存放到svn里的代码发布到线上?
    简单做法:写个shell脚本,用于代码发版。比如开发的代码存放svn的路径是:svn://112.168.19.120/kevin_app

    首先在发布机上创建一个发版目录
    [root@kevin ~]# mkdir -p /Data/webroot_svncode/Online_app
     
    然后将svn里的代码下载到发布机本地的发版目录里
    [root@kevin ~]# cd /Data/webroot_svncode/Online_app
    [root@kevin Online_app]# svn checkout svn://112.168.19.120/kevin_app             //svn checkout一般都是目录
    [root@kevin Online_app]# ls
    kevin_app
    [root@kevin Online_app]# cd kevin_app
    [root@kevin kevin_app]# ll
    kevin.war                   //这个就是开发放在svn仓库里的war包
     
    这样后面要想再将svn里最新修改的代码拿到发布机本地,只需要切换到发版目录下的svn目录里进行更新命令即可!
    [root@kevin Online_app]# cd kevin_app           //一定要切换到svn对应代码目录下进行更新命令
    [root@kevin kevin_app]# /usr/bin/svn update
    At revision 20.
    [root@kevin kevin_app]# ll                    //下面就是更新后的最新代码包
    kevin.war
     
    下面附上一个简单的发版脚本:
    将代码发布到远程线上服务器上(脚本中的22022是远程服务器的ssh端口);即将最新代码版本发布到线上后,重启线上的tomcat服务:
     
    [root@kevin kevin_app]# cat /Data/webroot_svncode/up_Online.sh
    #!/bin/bash
    REMOTE_SERVER_IP="112.168.19.75"
    DEST_DIR="/Data/app/tomcat-7/webapps/"
     
    cd /Data/webroot_svncode/Online_app/kevin_app
    /usr/bin/svn update
     
    /usr/bin/ssh -p22022 root@${REMOTE_SERVER_IP} "rm -rf /Data/app/tomcat-7/webapps/kevin*";
    /usr/bin/rsync -e "/usr/bin/ssh -p22022" -avpgolr /Data/webroot_svncode/Online_app/kevin_app/kevin.war root@${REMOTE_SERVER_IP}:${DEST_DIR};
    sleep 10
     
    /usr/bin/ssh -p22022 root@${REMOTE_SERVER_IP} "/bin/sh /Data/app/tomcat-7/start.sh";
  • 相关阅读:
    最难的事
    性格决定命运,习惯决定未来
    系统构架师之路
    时间是经不起浪费的
    如何投资自己,增加自身价值!
    最好的程序员大多是自学成才的
    杂记
    Win7启动Oracle出错
    推荐代码生成器工具排行
    Hibernate 与 Oracle 11g 的问题
  • 原文地址:https://www.cnblogs.com/kevingrace/p/5872727.html
Copyright © 2020-2023  润新知