SVN版本控制软件——第三篇

一、SVN配置多仓库与权限控制

二、SVN服务配置与管理

三、模拟真实开发环境

四、SVN扩展程序


一、SVN配置多仓库与权限控制

1、配置多仓库(多项目)
在实际项目开发中,我们可能会同时开发多个项目,那么我们如何进行多项目监管呢?
通过svnserve进行仓库监管,但是监管指令只能监管某一个文件夹,而不能同时监管多个仓库。
SVN版本控制软件——第三篇
答:可以通过监管WebApp总目录来达到监管所有仓库的目的。
svnserve -d(后台运行) -r(监管目录) WebApp(项目总目录)

①打开DOS窗口,输入如下指令:
SVN版本控制软件——第三篇
svn://localhost或ip地址来访问D:/svn/WebApp目录

如果需要访问Shop项目、Wechat项目

Shop项目: svn://localhost/Shop
Wechat项目:svn://localhos/Wechat

2、权限控制
如果要使用权限控制 有一个前提:必须首先开启权限功能

在每一个仓库中都有一个conf文件夹,里面有三个文件
authz文件(授权文件):告诉哪些用户具有哪些权限
passwd文件(认证文件):标识当前SVN系统中某个仓库具有哪些用户以及相应的密码。

默认情况下,以上两个文件都是禁用的,如需要使用,首先要开启以上两个文件。

开启: 进入svnserve.conf配置文件

开启步骤如下:
1)注释匿名用户的可读可写权限
SVN版本控制软件——第三篇
2)开启认证文件与授权文件
SVN版本控制软件——第三篇
3)编写认证文件,定义相关用户名与密码
进入 passwd文件, 加入 下面这两行代码
’ = ’ 左边是用户名; ’ = ’ 右边是密码。
SVN版本控制软件——第三篇

4)编写授权文件
打开authz文件

SVN版本控制软件——第三篇
同样,还是在这个authz文件下最后一行:

SVN版本控制软件——第三篇
这样子,系统的授权就配置成功了

5)测试
就跟之前创建一个文件夹如jingli一样, 比如我们创建个wangwu文件夹(这个文件夹默认为匿名用户),在该目录下 ‘检出’ (如选择Shop项目)后,就将服务端的数据传到该目录下, 那我们这时候进行对文件的修改等操作,然后上传,这时候就会弹出一个窗口,需要用户名和密码。
那我们之前在passwd文件已经设置了用户名 admin 和密码 admin888 即可用于登录


二、SVN服务配置与管理

1、配置自启动服务
sc create SVNService binpath= “D:\subversion\bin\svnserve.exe --service -r D:/svnroot” start= auto

sc create 服务名称 binpath=空格"svnserve.exe路径 --service -r D:/svn/WebApp" start=空格 auto
【这个svnserve.exe 目录一般在 安装服务端软件时的路径,在bin目录下】

①打开运行,输入cmd指令,打开DOS环境(请使用超级管理员运行)
②输入以下指令
SVN版本控制软件——第三篇
③查看系统服务

在控制面版里面有个 “服务” 。 双击运行
Win10的话,直接搜索 “服务”,即可弹出。
SVN版本控制软件——第三篇

SVN版本控制软件——第三篇
如果运行启动成功后,代表开启SVN监管服务。 那我们系统即使不用在DOS窗口开启 “监管” 指令,同样也可以使用SVN功能了(即随着windows电脑的开关机而开关)

2、创建批处理文件(.bat 类型)
启动服务 net start 服务名称
停止服务 net stop 服务名称
删除服务 sc delete 服务名称

以上功能在实际项目开发中经常使用,所以可以封装为.bat批处理文件。

在桌面上创建以下三个文件:
stop.bat ——》编辑内容为 net stop SVNService
start.bat ——》编辑内容为 net start SVNService
delete.bat ——》编辑内容为 sc delete SVNService
SVN版本控制软件——第三篇
SVN版本控制软件——第三篇

双击start.bat文件,即可实现 重启(删除、停止)服务


三、模拟真实开发环境

1、SVN工作流程
SVN版本控制软件——第三篇
2、钩子程序

所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化属性的修改。
默认情况下,钩子的子目录(版本仓库/hooks/)中包含各种版本库钩子模板
SVN版本控制软件——第三篇
post-commit.tmpl :事务完成后所触发的钩子程序

钩子程序默认情况下可以采用批处理指令或Shell指令来进行编写。

3、通过批处理指令编写钩子程序
①指定svn服务端工作目录
设置服务器端SVN路径
SET SVN=“D:\svn\bin\svn.exe”

②指定Web服务器工作目录
设置服务器端项目运行目录
SET DIR=“D:\server\apache\htdocs\Shop”

③通过update指令实时更新数据到DIR目录中
SVN update %DIR%

操作流程:

1)
SVN版本控制软件——第三篇
2)打开该批处理文件.bat (把里面内容都清空掉),填入相关批处理指令SVN版本控制软件——第三篇
3)在apache\htdocs目录创建Shop项目,并更新SVN服务端数据本地

SVN版本控制软件——第三篇

SVN版本控制软件——第三篇
SVN版本控制软件——第三篇

4)更新文件到SVN服务器端,可以在Shop目录实时获取到最新数据。
5)可以通过虚拟主机形式直接访问更新文件

4)5) 测试:同样创建个lisi文件夹,按上面操作把服务端数据下载到本地lisi文件夹中
然后在lisi文件夹中修改数据后(比如创建个test.php文件,内容为 echo ‘hook’),提交到服务端。

这样子,你再去看刚才创建的Shop项目文件夹,里面就实时更新了刚才lisi上传到服务端的test.php文件。

在网页中,输入下面网址(即可看到效果,这就是真实环境的模拟过程)
SVN版本控制软件——第三篇


四、SVN扩展程序

1、什么是BAD云引擎
百度应用引擎(BAE)是百度推出的网络应用开发平台。基于BAE架构,使开发者不需要维护任何服务器,只需要简单的上传应用程序,就可以为用户提供服务。

开发者可以基于BAE平台进行PHP、Java、Python、Nodejs应用的开发、编译、发布、调试。

2、如何使用BAE云引擎
BAE地址:http://bce.baidu.com/

SVN版本控制软件——第三篇

点击后 , 弹出界面(点击右上角的 " 管理控制台 ")

SVN版本控制软件——第三篇

进入部署列表(BAE管理平台)

SVN版本控制软件——第三篇

SVN版本控制软件——第三篇

创建成功如下图所示:
SVN版本控制软件——第三篇

单机 “管理控制台”
SVN版本控制软件——第三篇

2)SVN管理
SVN版本控制软件——第三篇

SVN版本控制软件——第三篇
SVN版本控制软件——第三篇

确定后, 这时候需要确认 “认证” (即百度账号的用户名和密码)

SVN版本控制软件——第三篇

对这个index.php的修改及提交

3)提交服务(Commit)
当我们的BAE服务器有数据的更新时,系统会自动弹出以下提示:
SVN版本控制软件——第三篇

单击快捷发布, 这样子我们就可以在网页上看到我们修改代码的效果了。