zoukankan      html  css  js  c++  java
  • 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";
  • 相关阅读:
    TCP带外数据
    ASP.Net Core 返回的json数据,自定义日期格式
    C# 简单的区块链实现
    PowerShell自动部署ASP.NET Core程序到 IIS
    ASP.NET Core依赖注入多个服务实现类
    EF Core 2.0 执行原始查询如何防止SQL注入
    C#7 进入快速迭代道路
    QuartzNet 任务管理系统
    WebApi如何传递参数
    C# 快速高效率复制对象另一种方式 表达式树
  • 原文地址:https://www.cnblogs.com/kevingrace/p/5872727.html
Copyright © 2011-2022 走看看