svn部署php项目路径,SVN多项目多级目录的配置与管理

svn配置目标:有N个项目proj1,proj2,每个项目都需要设置一个版本库,但是所有的版本库共用一个 passwd 和 authz 文件,方便集中管理和控制。

关于在 linux 下简单配置一个SVN服务器的方法,可参照本站文章:

1.建立svn库根目录

mkdir /data/svn

2.建立项目的目录和其下面子项目的库

cd /data/svn

mkdir {proj1,proj2}

svnadmin create /data/svn/proj1/

svnadmin create /data/svn/proj2/

3.建立统一的passwd和authz文件(目前在svn根目录/data/svn下,一会儿svn启动就使用这个目录)

mkdir /data/svn/conf

cd /data/svn/conf

touch {passwd,authz}

4.配置passwd和authz

vi passwd 输入如下内容:

[users]

user1=pwd1

user2=pwd2

user3=pwd3

user4=pwd4

user5=pwd5

保存退出(格式是 用户名=密码,不需要在系统设立相应帐号,密码是明文,注意安全)

vi authz 输入如下内容:

[groups]

admin=user1,user2

proj1=user3,user4

proj2=user5,user3

[/]

*=

@admin=rw

[proj1:/]

@proj1=rw

[proj2:/]

@proj2=rw

保存退出(这样,匿名用户*不允许读写,admin组里的可以读写任意项目,user3,user4可以读写proj1,user3,user5可以读写proj2,可以按照项目实际情况在这个文件里分配读写权限,也可以直接使用用户名分配权限而不一定需要使用组)

5.配置每个子项目的svnserve.conf文件

分别进入到 proj1 和 proj2 下的 conf 目录里,按如下设置,这里以进入 proj1 的设置为例:

vi svnserve.conf

输入如下内容或者取消如下内容前面的注释:

anon-access = none #匿名用户不可读

auth-access = write #授权用户可写

password-db = ../../conf/passwd #使用哪个文件作为账号文件

authz-db = ../../conf/authz #使用哪个文件作为权限文件

realm = proj1 #注意在 proj2 项目中这里需要设置为 proj2

6.启动SVN服务

一般使用 svnserve -d -r /data/svn

复杂的启动方法和命令参数解释

su - svn -c "svnserve -d --listen-port 9999 -r /data/svn"

#检查是否启动:

ps -ef|grep svn

#如果显示如下,即为启动成功,例如:

svn 6941 1 0 15:07 ? 00:00:00 svnserve -d –listen-port 9999 -r /data/svn

额外说明:

su - svn 表示以用户svn的身份启动svn

-d 表示以daemon方式(后台运行)运行

–listen-port 9999 表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限

-r /data/svn 指定SVN服务的目录,这里是/data/svn

7.使用版本库

在客户端使用

svn://ip/proj1/

即可访问 proj1 的目录,若启动时设置了端口号,则需要使用

svn://ip:port/proj1/

8.版本库测试和防火墙设置

服务测试方法 1:

cd /tmp

mkdir /tmp/test

touch test.txt

svn import /tmp/test/ /data/svn/proj1 -m "this is thie first import"

mkdir -p /tmp/test2

cd /tmp/test2

svn co /data/svn/proj1 /tmp/test2/

#或者:

svn co svn://{your-server-ip}:9999/proj1

#这时应该可以看到文件test.txt.

服务测试方法 2:

telnet {your-server-ip} 9999 检查端口是不是通的

如果telnet 检查不通,有可能是防火墙(iptables)里面端口没开:

vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -p tcp --dport 9999 -j ACCEPT

#保存完成,重启 iptables

/etc/init.d/iptables restart

#或

service iptables restart

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
介绍SVN各个目录使用规范 Svn目录使用规范 TortoiseSVN客户端工具 选择创建SVN目录结构的选项(生成trunk、branches、tags目录),如下图: 1、 trunk是主分支,是日常开发进行的地方。 2、branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。 3、tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。 注:在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy到branches上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug,则只要在branches上修改该bug,修改完bug后再编译branches上最新的代码发布到生产环境即可。tags的作用是将在branches上修改的bug的代码合并到trunk上时创建个版本标识 Trunk目录:Doc(文档库,放项目相关文档类)、sourcecede(代码库) Doc目录下按项目存放文档,以下以proj1为例做说明 Proj1----项目名 1、Controlled------组织级scm建一个名为controlled的目录,当项目某文档通过评审后,组织级scm从项目目录下找到那文档,复制到controlled目录下。(一般用不到) 2、Develop---开发文档 2.1、Design----设计文档 2.1.1、DbDesign---数据库设计文档 2.1.2、HLD---概要设计 2.1.3、InterfaceDesign---接口设计 2.1.4、ServiceDesign---服务设计 2.2、REQ---需求文档 2.3、SRS---软件需求规格说明 2.4、Test---测试文档 2.4.1、Review---可空 2.4.2、TestCese---测试用例 2.4.3、TestDoc---测试文档 2.4.4、TestEnv---测试环境说明 2.4.5、TestReport---测试报告 3、Document---项目文档 4、Management---管理文档 4.1、Meetings--会议纪要 4.2、PIM--- 4.3、Plan---计划 4.3.1、review 4.3.2、SDP---软件开发策划文档 4.3.3、SPP---软件项目策划文档 4.4、report---报告 4.4.1、Milestonereport---版本报告 4.4.2、ProjectTrackReport---项目跟踪报告 4..4.3、SCM---软件配置管理文档  4.4.4、SQA---软件质量保证计划 4.4.5、项目周报 4.5、Sow---工作说明书 4.6、Summarize---总结 4.7、Template---模板 4.8、Trainning---培训文档 打标签/分支有两种方式: 1、选中项目,就是trunk下的本地项目,右击,选中Branch/Tag,出现如下对话框。 下图中的配置完成了之后,点击OK即可完成“打标签/分支”。 2、直接在SVN上在对应的标签/分支目录下创建对应的版本文件夹,将trunk下稳定版本的代码直接copy到对应的文件目录下即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值