码迷,mamicode.com
首页 > Web开发 > 详细

Ubuntu创建svn服务器并设置提交并更新到网站

时间:2015-06-27 18:05:10      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

创建svn服务器

1、首先安装SVN这个软件

apt-get install subversion

2、在home目录下创建一个名为svn的文件夹(文件夹的名字随便起)

mkdir /home/svn

3创建数据仓库(可以根据需要创建多个)

svnadmin create /home/svn/test

4、启动svn网络服务

svnserve -d -r /home/svn
其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上可以访问的地址。
/home/svn指定svn数据仓库存放的目录位置
5、设置svn: 方式的访问权限
在每个数据仓库目录下都有一堆目录,进入 conf 并打开 svnserve.conf 这个文件,找到以下几行,
 并把前面的注解符号 ‘#’ 去掉,注意千万在每行的前面别留任何空格。

anon-access = read
auth-access = write
password-db = passwd

 

其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限。

但如果想拒绝匿名用户的访问,只需把 anon-access的read 改成 none 就能达到目的。
password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserve.conf 在
同一个目录,下面看看怎么配置 passwd文件中的内容。

[user]
# harry = harryssecret
# sally = sallyssecret

harry 和 sally 这两行分别定义了可以对 repo 进行写入的用户的用户名和密码。我们可以在下面加上
自己的用户名和密码,比如

testsvn = tester

 

这样就给了用户 testsvn 往 repo 中写的权限。存盘退出后,svn 服务器就算正式可以运行了!

把所有需要管理的项目都放在 /home/svn这个目录下,像正常那样用 svnadmin create 命令建立数据仓库。

这样就可以使用svn客户端通过 “svn co svn://IP地址/数据仓库目录” 的方式把服务器上的数据仓库拉到本地了。

 

 

最近升级了下linode,发现svn 不能提交和更新,报svn: E000061: Unable to connect to a repository at URL这样的错误,后来查了些资料,原来是svn的端口没有打开,svn的默认端口是3690,在ubuntu里查看端口打开情况,命令是 netstat -anp,把svn服务重新启动下就可以了,命令为svnserve -d -r /home/svn

设置更新同步网站

 

SVN同步版本库与网站目录

 

 

 

定义: 

 

        SVN版本库  = /home/svn/repos 

 

        网站目录     = /var/www/web

 

  www.2cto.com  

 

1.检出一个项目到网站目录

 

        #svn checkout file:///home/svn/repos /var/www/web

 

        这时,网站目录已成为SVN的工作副本,我们要做的就是让这个工作副本自动更新。

 

 

 

3.增加hooks(钩子)文件 

 

        # vim /home/svn/repos/hooks/post-commit 

 

                #!/bin/sh 

 

                export LANG="zh_CN.UTF-8"    #防止乱码 

 

                svn update /var/www/web --username user1 --password password1 --no-auth-cache 

 

        保存后修改文件权限为755,否则SVN无法调用执行 

 

        #chmod 755 /home/svn/repos/hooks/post-commit 

 

 

 

hooks(钩子)文件说明:

 

# start-commit 提交前触发事务

 

# pre-commit 提交完成前触发事务

 

# post-commit 提交完成时触发事务

 

# pre-revprop-change 版本属性修改前触发事务

 

# post-revprop-change 版本属性修改后触发事务

 

Ubuntu创建svn服务器并设置提交并更新到网站

标签:

原文地址:http://www.cnblogs.com/j-king/p/4604155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!