[.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下) 本篇导读: 接上篇继续介绍SVN的高级功能,即使用分支并行开发.随着需求的不断变更,新功能的增加.特别是敏捷开发中,需要有一个稳定的分支随时可以打包版本.那么我们的项目不能把不稳定的代码放在主干上.对于新的功能有些需要进行技术试验,产生的不稳定代码不能影响项目的主干.对于中型项目,人数在20人及以上的情况下,往往需要分组开发,在代理管理中,我们就可以很好的利用SVN的分支功能.分支开发相对稳定以后,可…
两地同时开发一个产品,目前线上有3个环境:测试环境.预发布环境.生产环境.目前系统部署采用jenkins自动化部署工具 用jenkins部署的方案 jenkins 测试环境:配置了各个分支的svn 地址:预发布和生产环境配置为主干的svn地址.jenkins部署的大致流程为: 根据配置的svn路径 下载源码 maven打包 copy到tomcat的webapps目录 重启tomcat 采取的版本控制方案如下图,虽然图看起来这么多弯弯曲曲的线,其实还是实施起来很简单的 两个原则 一:基于分支提测,…
背景 keywords:svn,trunk,branch,jenkins,maven,merge 两地同时开发一个产品,目前线上有3个环境:测试环境.预发布环境.生产环境.目前系统部署采用jenkins自动化部署工具 用jenkins部署的方案 jenkins 测试环境:配置了各个分支的svn 地址:预发布和生产环境配置为主干的svn地址.jenkins部署的大致流程为: 根据配置的svn路径 下载源码 maven打包 copy到tomcat的webapps目录 重启tomcat 采取的版本控制…
一.准备工作: 两台服务器:192.168.206.212,192.168.206.213 自己新建一个maven项目 其中两台机子做下面的软件配置 212机子: 安装expect并配置: 安装jenkins 安装docker 安装私有镜像仓库 安装JDK并配置: 安装maven并配置: 213机子: 安装SVN 安装JDK并配置: 安装maven并配置: 安装docker 其中项目的话可以参照截图,controller,model什么的这些自定义就行. 重点注意红框框的这几个 1.proper…
总的原则:trunk保证相对稳定.分支合并到主干时将冲突降至最低. (1)       trunk用于集成.测试.发布,可以提交fixbug代码,但不允许直接提交新特性. (2)       特性在分支上开发,在编译.测试通过后才能合并到主干. (3)       特性分支确定一个负责人,负责每天执行从trunk到分支的合并.合并回trunk前,先执行一次trunk到dev的合并,然后在trunk上使用复兴分支. (4)       特性分支的存在时间不能太长,不超过一周为宜.合入主干后不能继续…
使用场景: 假如你的项目(这里指的是手机客户端项目)的某个版本(例如1.0版本)已经完成开发.测试并已经上线了,接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间的时候,突然接到用户或测试人员的反馈,项目中有个重大bug需要紧急修复,并且要求bug修复后要立即上线:此时应该怎么修复bug呢?是在当前已经开发新需求的基础上进行修复吗?答案是否定的,原因是:如果是在已经开发新需求的基础上进行修复bug,那么新需求还没开发好,更没有测试,怎么立刻(或最可能快的)上线?…
场景描述,这是一个困扰我很久的一个问题,一直百度,都解决不了,今天自己通过设置终于解决了,慢慢的都是辛酸泪,赶快写个笔记记录一下. 对于idea 开发 vue-cli+webpack 项目,idea 就会特别卡: 原因一:node_modules   依赖包文件太多,导致idea 一直检索卡死: 这种可以通过设置忽略检索来解决(这种问题和SVN   updating 卡死的关系不大,有没有SVN都会卡,原因二才是我设置过之后不卡的) 原因二:SVN 版本控制一直检索node_modules 下的…
SVN版本控制说明 目的 多个版本中并行开发,提高开发效率: 保证各个版本和各个环境(开发.测试.主干)的独立,避免相互影响: 通过分支与主干的合并,这样主干永远是最新.最高版本,并且都在后面的测试中,保证了质量: 用分支进行bug修改,而主干上进行新功能的开发.分支上的bug修改完合并到主干上: SVN目录结构 Trunk(开发库) : 主干目录,负责新功能的开发: 此目录下的文件为基准文件,放置稳定代码的主要环境: 开发人员日常开发的工作区,由开发者所控制: Branches(受控库) :…
主干(trunk).分支(branch ).标记(tag) 在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆. 在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别.至于何时用tag,何时用branch,完全由人主观的根据规范和需要来选择,而不是强制的(比如cvs). 一般情况下, trunk:是用来做主方向开发的,一个新模块的开发,这个时候就放在trunk,当模块开发完成后,需要修改,就用branch. branch…
使用场景: 假如你的项目(这里指的是手机客户端项目)的某个版本(例如1.0版本)已经完成开发.测试并已经上线了,接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间的时候,突然接到用户或测试人员的反馈,项目中有个重大bug需要紧急修复,并且要求bug修复后要立即上线:此时应该怎么修复bug呢?是在当前已经开发新需求的基础上进行修复吗?答案是否定的,原因是:如果是在已经开发新需求的基础上进行修复bug,那么新需求还没开发好,更没有测试,怎么立刻(或最可能快的)上线?…