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";
svn代码发版的脚本分享的更多相关文章
- Jenkins日常运维笔记-重启数据覆盖问题、迁移、基于java代码发版(maven构建)
之前在公司机房部署了一套jenkins环境,现需要迁移至IDC机房服务器上,迁移过程中记录了一些细节:1)jenkins默认的主目录放在当前用户家目录路径下的.jenkins目录中.如jenkins使 ...
- 使用 shell 脚本自动获取发版指标数据
问题背景 大一点的公司都会建立一套规章流程来避免低级错误,例如合入代码前必需经过同行评审:上线前必需提测且通过 QA 验证:全量前必需经过 1%.5%.10%.20%.50% 的灰度过程.尤其是最后一 ...
- SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享
SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...
- 《zw版·Halcon-delphi系列原创教程》简单的令人发指,只有10行代码的车牌识别脚本
<zw版·Halcon-delphi系列原创教程>简单的令人发指,只有10行代码的车牌识别脚本 简单的令人发指,只有10行代码的车牌识别脚本 人脸识别.车牌识别是opencv当中 ...
- 用node.js写一个jenkins发版脚本
背景 每次到网页里手动发版有点烦,写个脚本来提高开发效率. CFG 在 jenkins 设置里获取 API TOKEN. 把 host 和账号密码拼接起来就可以通过鉴权. const token = ...
- Git提交代码规范 而且规范的Git提交历史,还可以直接生成项目发版的CHANGELOG(semantic-release)
Git提交代码规范 - 木之子梦之蝶 - 博客园 https://www.cnblogs.com/liumengdie/p/7885210.html Commit message 的格式 Git 每次 ...
- jenkins中通过git发版操作记录
之前说到的jenkins自动化构建发版是通过svn方式,今天这里介绍下通过git方式发本的操作记录. 一.不管是通过svn发版还是git发版,都要首先下载svn或git插件.登陆jenkins,依次点 ...
- 自动化运维:网站svn代码上线更新(flask+saltstack)
阶段性总结: 跌跌撞撞的用了一周左右的时间做完了网站自动升级功能,中间遇到了很多的问题,也学到了很多,在此做一个总结. 1.整体架构: 后台:nginx+uwsgi #nginx提供w ...
- 今天心情好,给各位免费呈上200兆SVN代码服务器一枚,不谢!
开篇先给大家讲个我自己的故事,几个月前在网上接了个小软件开发的私活,平日上班时间也比较忙,就中午一会儿休息时间能抽出来倒腾着去做点.每天下班复制一份到U盘带回去继续摸索,没多久U盘里躺着的文件列表那叫 ...
随机推荐
- Android 发送自定义广播(标准和本地)
1.首先自定义一个广播接收器:MyBroadcastReceiver package example.com.mybroadcastreceiver; import android.content.B ...
- logstash启动失败的问题追查
在实验中logstash是作为日志过滤器的作用,日志收集使用的则是filebeat组件.redis作为缓存器,logstash从redis中拉取数据进行过滤并传给elasticsearch组件. 但是 ...
- windows下编写shell脚本执行错误
在 windows 下,换行符是 \r\n,在linux下,换行符是 \n.如果你在IDEA里写sh脚本,可以手动设置脚本的换行符为 \n,如果你用notepad++写脚本,可以显示所有字符,以便明确 ...
- 17秋 软件工程 第六次作业 Beta冲刺 Scrum4
17秋 软件工程 第六次作业 Beta冲刺 Scrum4 各个成员冲刺期间完成的任务 世强:完成APP用户签到模块.群发短信模块前端界面: 陈翔:恢复Github项目,完成Scrum博客: 树民:和超 ...
- Base64编码/解码
/// <summary> /// Base64编码 /// </summary> /// <param name="str">字符串</ ...
- node及socket.io实现简易websocket双向通信
技术栈: vue2.0 + node + websocket( socket.io ) 1. 安装依赖 初始化vue项目后输入下方指令安装依赖包 // 推荐cnpm安装 npm i vue-socke ...
- UOJ #390. 【UNR #3】百鸽笼
UOJ #390. [UNR #3]百鸽笼 题目链接 看这道题之前先看一道相似的题目 [PKUWC2018]猎人杀. 考虑类似的容斥: 我们不妨设处理\(1\)的概率. 我们令集合\(T\)中的所有鸽 ...
- swift语言混编--语言交互的接口
FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the ...
- 基于php实现QQ授权登陆
第一步: 首先登陆QQ互联首页https://connect.qq.com/进行个人/企业认证.大概审核时间在一周左右. 认证通过之后创建应用: 这里主要用到应用的APP ID 和 APP Key ...
- Github(1) 桌面版使用
桌面版使用 https://www.cnblogs.com/Chenshuai7/p/5486278.html 1安装 我的账号 1051196347@qq.com 密码 L*******4***** ...