测试思想-流程规范 SVN代码管理与版本控制

简介: 测试思想-流程规范 SVN代码管理与版本控制

SVN代码管理与版本控制


 

一、创建根目录

创建一个空文件夹,例如svn,作为所有版本库的根目录

[root@localhost ~]# mkdir -p /svn/

 

二、创建版本库

进入svn目录,创建版本库

[root@localhost ~]# cd /svn/

[root@localhost svn]# svnadmin create --fs-type fsfs project1

 

三、修改版本库基础配置

Ø 修改authz

[root@localhost conf]# vim authz

……

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

group = shouke

 

……

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

[project1:/]

@group = rw

 

Ø 修改svnserve.conf配置

[root@localhost conf]# vim svnserve.conf

……

[general]

……

anon-access = read

auth-access = write

……

password-db = passwd

……

authz-db = authz

 

Ø 新增svn用户

[root@localhost conf]# useradd shouke

[root@localhost conf]# passwd shouke

Changing password for user shouke.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

 

注:设置的用户密码为123456

 

Ø 修改password配置文件

[root@localhost conf]# vim passwd

……

[users]

# harry = harryssecret

# sally = sallyssecret

shouke=123456

 

Ø 修改authz配置文件

[root@localhost conf]# vim authz

……()

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

group1 = shouke

……

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

[project:/]

@group1 = rw

 

 

四、启动SVN

[root@localhost conf]# svnserve -d -r /svn/

 

说明:-d表示以daemon的方式运行,-r dir_path表示把dir_path当作版本库的根目录,比如/svn/reposvn://192.168.1.103/repo,访问的就是/svn/repo

 

查看

[root@localhost conf]# netstat -antp | grep svn

tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      8474/svnserve  

说明:如上,默认端口为3690

 

五、客户端访问

 

 


六、目录规划

 

 

目录说明:

code:用于存放代码

doc:用于存放文档,比如初始化sql脚本

 

master

线上主分支,存放线上最新“稳定版”代码,该分支永的代码远处于随时可发布的状态。

 

develop

开发主分支,存放开发状态下,相对稳定的“开发版”代码--完成了某个新功能或者修改某个bug、某个功能后的开发稳定版本。不管开发新需求对应的新功能,还是进行局部功能修改,非紧急bug修复,都是从该分支拉取对应的分支进行开发。

 

feature_branche

功能分支,存放开发阶段的代码。从develop拉取的分支,供开发人员进行bug修复、功能改造、新功能开发。

 

说明:这里可以根据实际需要,可以拉取多个分支,进行并行开发。通常,我们会把一次迭代中大功能拆分成小功能点,分配给不同的开发人员去实现,这样,每个功能点对应一个分支,实现之后再合并到develop

 

release_branch

预发布分支。从develop拉取的分支(只在第一次),存放预发布环境对应的代码。

 

tag

按代码版本存档,存放的是master的备份,只读不写。

 

七、代码管理与版本控制

 

 

 

 

 

 

说明:

开发阶段:

当线上形成一个稳定版本后,开发阶段,先从master merge代码到develop,然后从develop拉取feature_branch分支,开发人员基于对应的feature_branch进行功能开发

 

测试阶段:

当开发人员完成开发任务并merge内容到develop后,测试人员需要构建jenkins上对应任务项目,将代码部署到测试环境,测试。

 

当测试环境测试通过后,开发人员需要把develop的内容mergerelease_branch,测试人员需要构建jenkins上对应任务项目,将代码部署到预发布环境,测试。

 

部署阶段:

当预发布环境测试通过后,开发人员需要把release_branch的内容mergemaster,运维人员构建jenkins上对应任务项目,将代码部署到线上环境,测试人员进行测试,测试通过则为mastertag,归档。

 

如果预发布测试发现存在问题,测试不通过,开发人员在release_branch上进行bug修复,然后测试人员在预发布环境验证,测试通过则先mergemaster,运维人员构建jenkins上对应任务项目,将代码部署到线上环境,测试人员进行测试,测试通过则为mastertag,归档,同时还要将release_branch的内容mergedevelop

 

平日维护

平日开发阶段,如果发现已发布线上的版本存在紧急bug,那么开发人员在release_branch上进行bug修复,然后测试人员在预发布环境验证,测试通过则先mergemaster,运维人员构建jenkins上对应任务项目,将代码部署到线上环境,测试人员进行测试,测试通过则为mastertag,归档,同时还要将release_branch的内容有选择的mergedevelop

 

注:用jenkins实现代码构建并自动部署,需要在jenkins新建的项目中配置源代码svn路径,这时候如果svn路径没有参数化,则开发人员每次拉取feature_branch后,需要手动设置代码路径为对应分支的代码路径,以便构建时能拉取到对应分支的代码。这里masterrelease_branchdevelop仅保留一份代码,目录名称等保持不变,所以其在jenkins上配置的svn源代码路径为固定的,不需要改来改去。

 

参考连接:

http://www.jianshu.com/p/a3a32e473cc4

pdf版下载:SVN代码管理与版本控制.pdf

目录
相关文章
|
2月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
3075 1
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
842 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
2月前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
49 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
2月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
539 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
147 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
64 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
机器学习/深度学习 XML 并行计算
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
232 0
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
机器学习/深度学习 算法 PyTorch
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-7.0版本进行目标检测的完整流程,包括算法介绍、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。YOLOv5以其高精度、快速度和模型小尺寸在计算机视觉领域受到广泛应用。
961 0
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
|
2月前
|
Ubuntu API Python
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
75 1
|
2月前
|
监控 测试技术 数据安全/隐私保护
新产品测试流程如何?
新产品测试流程如何?【10月更文挑战第10天】
120 0
下一篇
DataWorks