背景:开发将其代码放到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";

svn代码发版的脚本分享的更多相关文章

  1. Jenkins日常运维笔记-重启数据覆盖问题、迁移、基于java代码发版(maven构建)

    之前在公司机房部署了一套jenkins环境,现需要迁移至IDC机房服务器上,迁移过程中记录了一些细节:1)jenkins默认的主目录放在当前用户家目录路径下的.jenkins目录中.如jenkins使 ...

  2. 使用 shell 脚本自动获取发版指标数据

    问题背景 大一点的公司都会建立一套规章流程来避免低级错误,例如合入代码前必需经过同行评审:上线前必需提测且通过 QA 验证:全量前必需经过 1%.5%.10%.20%.50% 的灰度过程.尤其是最后一 ...

  3. SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享

    SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...

  4. 《zw版·Halcon-delphi系列原创教程》简单的令人发指,只有10行代码的车牌识别脚本

    <zw版·Halcon-delphi系列原创教程>简单的令人发指,只有10行代码的车牌识别脚本 简单的令人发指,只有10行代码的车牌识别脚本      人脸识别.车牌识别是opencv当中 ...

  5. 用node.js写一个jenkins发版脚本

    背景 每次到网页里手动发版有点烦,写个脚本来提高开发效率. CFG 在 jenkins 设置里获取 API TOKEN. 把 host 和账号密码拼接起来就可以通过鉴权. const token = ...

  6. Git提交代码规范 而且规范的Git提交历史,还可以直接生成项目发版的CHANGELOG(semantic-release)

    Git提交代码规范 - 木之子梦之蝶 - 博客园 https://www.cnblogs.com/liumengdie/p/7885210.html Commit message 的格式 Git 每次 ...

  7. jenkins中通过git发版操作记录

    之前说到的jenkins自动化构建发版是通过svn方式,今天这里介绍下通过git方式发本的操作记录. 一.不管是通过svn发版还是git发版,都要首先下载svn或git插件.登陆jenkins,依次点 ...

  8. 自动化运维:网站svn代码上线更新(flask+saltstack)

    阶段性总结:      跌跌撞撞的用了一周左右的时间做完了网站自动升级功能,中间遇到了很多的问题,也学到了很多,在此做一个总结.   1.整体架构: 后台:nginx+uwsgi  #nginx提供w ...

  9. 今天心情好,给各位免费呈上200兆SVN代码服务器一枚,不谢!

    开篇先给大家讲个我自己的故事,几个月前在网上接了个小软件开发的私活,平日上班时间也比较忙,就中午一会儿休息时间能抽出来倒腾着去做点.每天下班复制一份到U盘带回去继续摸索,没多久U盘里躺着的文件列表那叫 ...

随机推荐

  1. CSS:float: right 靠右换行的解决方法

    1.float: right的使用用法:使用html代码<span style="float: right">*****</SPAN>,其中*****就是你 ...

  2. 合理配置SQLSERVER内存

    合理配置SQLSERVER内存 原文地址:https://www.cnblogs.com/lyhabc/archive/2012/09/28/2707857.html SQLSERVER是个很喜欢内存 ...

  3. 5.3Python函数(三)

    目录 目录 前言 (一)装饰器 ==1.简单的装饰器== ==2.修饰带参数函数的装饰器== ==3.修饰带返回值函数的装饰器== ==4.自身带参数的装饰器== (二)迭代器 (三)生成器 ==1. ...

  4. 洛谷P4551 最长异或路径

    传送门:https://www.luogu.org/problem/show?pid=4551 在看这道题之前,我们应懂这道题怎么做:给定n个数和一个数m,求m和哪一个数的异或值最大. 一种很不错的做 ...

  5. Python 扩展插件

    扩展插件 我下载的本版自带 pip下载工具 cmd-pip 下载插件 pip install HTMLParser 如果提示版本问题,更新PIP 别用开始里面的CMD 使用管理者权限 请注意差别 输入 ...

  6. 查询rman 备份信息集

    SELECT TRIM(START_TIME||'#'),       TRIM(END_TIME||'#'),       TRIM(CASE OUTPUT_DEVICE_TYPE         ...

  7. Springmvc导出Excel(maven)

    一.导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</ar ...

  8. AWS 为 Elasticsearch 推出开源发行版

    WS 近日宣布为 Elasticsearch 推出开源发行版 Open Distro for Elasticsearch. Elasticsearch 是一个分布式.面向文档的搜索和分析引擎,它支持结 ...

  9. docker执行第一个应用

    概念科普 Docker image:镜像是只读的,镜像中包含有需要运行的文件.镜像用来创建container,一个镜像可以运行多个container:镜像可以通过Dockerfile创建,也可以从Do ...

  10. node.js 基础三 消息推送