打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
测试思想



 

目录

一、        创建根目录

二、        创建版本库

三、        修改版本库基础配置

四、        启动SVN

五、        客户端访问

六、        目录规划

七、        代码管理与版本控制

 

 

一、 创建根目录

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

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

 

二、 创建版本库

进入svn目录,创建版本库

[root@localhost ~]#cd/svn/

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

 

三、 修改版本库基础配置

Ø  修改authz

[root@localhost conf]# vimauthz

……

[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]# vimsvnserve.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

Changingpassword for user shouke.

Newpassword:

BAD PASSWORD:The password is shorter than 8 characters

Retype newpassword:

passwd: allauthentication tokens updated successfully.

 

注:设置的用户密码为 123456

 

Ø  修改password配置文件

[root@localhost conf]# vimpasswd

……

[users]

# harry =harryssecret

# sally =sallyssecret

shouke=123456

 

Ø  修改authz配置文件

[root@localhost conf]# vimauthz

……()

[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的方式运行,-rdir_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的备份,只读不写。

 

七、 代码管理与版本控制


 

 

 

 


说明:

开发阶段:

当线上形成一个稳定版本后,开发阶段,先从mastermerge代码到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源代码路径为固定的,不需要改来改去。

 


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SVN分支与合并实例剖析
[原创]项目svn版本控制中的分支策略
SVN 版本管理:两种开发模式
SVN数据迁移到Git笔记
详细说明svn分支与合并,以及实例
主干发布与分支发布的区别
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服