博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos6.0 配置SVN
阅读量:4972 次
发布时间:2019-06-12

本文共 3229 字,大约阅读时间需要 10 分钟。

基本步骤:

1、安装必需的subversion
2、创建版本库
3、配置用户和权限
4、钩子和svn常用命令说明

一、安装subversion

在这里我们使用yum来安装subversion,使用以下命令即可完成。

[root@localhost ~]# yum -y install subversion

二、创建版本库

[root@localhost ~]# mkdir -p /home/svn/project01[root@localhost ~]# svnadmin create /home/svn/project01

三、版本库管理配置

进行刚才创建的版本库目录下的conf目录,可以看到有三个文件。

[root@localhost ~]# cd /home/svn/project01/conf[root@localhost conf]# lsauthz  passwd  svnserve.conf

svnserve.conf 这个是版本库的配置文件

passwd 这个是记录用户帐号密码的文件
authz 这个则是记录组、权限和身份验证的文件
1、配置svnserve.conf文件
这里需要设置以下几处
anon-access = none 指定匿名权限,默认为可读,现设置匿名无权限
auth-access = write 用户有写权限
password-db = passwd 账号密码文件的路径,psswd文件也可复制一份,命名为 passwd.conf 这样可以知道是配置文件,也可以放到其它目录下
authz-db = authz 同上
注意去掉#注释以后配置一定要顶格写,下同。

[root@localhost conf]# vi svnserve.confanon-access = noneauth-access = writepassword-db = passwdauthz-db = authz

2、配置passwd

该文件中记录svn用户名密码,以 (帐号 = 密码)或 (帐号 : 密码)的形式进行储存。
多用户之前用换行区分。这里配置了一个用户名为test1密码为123456的svn 账户。

[root@localhost conf]# vi passwd### This file is an example password file for svnserve.### Its format is similar to that of svnserve.conf. As shown in the### example below it contains one section labelled [users].### The name and password for each user follow, one account per line.[users]# harry = harryssecret# sally = sallyssecrettest1 = 123456

3、authz文件的配置

[groups]表用于用户组的配置例如
“developers = test1,test2”这样就将这2个用户方在了developers组织之中。
建立组是为了方便给一组相同权限的用户分配权限。
[/] 指定是svn的根版本库
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

[root@localhost conf]# vi authz[groups]# harry_and_sally = harry,sally# developers = test1, test2# [/foo/bar]# harry = rw# * =# [repository:/baz/fuz]# @harry_and_sally = rw# * = r[/]test1 = rw* =

这样svn版本库就算配置完成了。

运行 svn, (停止SVN服务器命令为:killall svnserve )

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

我们继续说下其他常用的一些配置

1、开机自动运行
在/etc/rc.d/rc.local 添加 “/usr/bin/svnserve -d -r svn版本库目录” 即可

[root@localhost ~]# vi /etc/rc.d/rc.local## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/local/usr/bin/svnserve -d -r /home/svn/

2、钩子自动更新

说明,在开发时经常需要提交代码,如果使用钩子自动更新的话,只要有人提交后就能自动更新到服务器上,非常方便哦。
首先必须对代码目录checkout

[root@localhost ~]# cd /var/www[root@localhost www]# svn checkout svn://192.168.1.100/project01Authentication realm:  21d46c22-96a8-465b-9d0b-58a1e04abdfdPassword for 'root':Authentication realm:  21d46c22-96a8-465b-9d0b-58a1e04abdfdUsername: test1Password for 'test1':Checked out revision 0.

这样在 /var/www/ 中会生成一个目录 project01,我们可以把这个目录设置成站点来访问。

进入版本库hooks目录

将post-commit.tmpl 模板复制一份 取名post-commit
在末尾加上
svn up /home/svn/project01/ –username test1 –password 123456
并赋予执行权限。

[root@localhost ~]# cd /home/svn/project01/hooks/[root@localhost hooks]# lspost-commit.tmpl  post-revprop-change.tmpl  pre-commit.tmpl  pre-revprop-change.tmpl  start-commit.tmplpost-lock.tmpl    post-unlock.tmpl          pre-lock.tmpl    pre-unlock.tmpl[root@localhost hooks]# cp post-commit.tmpl  post-commit[root@localhost hooks]# vim post-commitREPOS="$1"REV="$2"svn up /home/svn/project01/ --username test1 --password 123456[root@localhost hooks]# chmod +x post-commit

这样当用户提交文件的第时候,svn将会自动执行更新,使代码同步。

转载于:https://www.cnblogs.com/liuruichao/p/4005843.html

你可能感兴趣的文章
js实现换肤效果
查看>>
vue图片懒加载
查看>>
[转]Avoiding GDB Signal Noise.
查看>>
Coursera机器学习week3 笔记
查看>>
使用属性升级MyBank
查看>>
【Leetcode_easy】594. Longest Harmonious Subsequence
查看>>
C#连接Access和增删改查基本方法
查看>>
LeetCode 117 Populating Next Right Pointers in Each Node II
查看>>
连接远程LINUX服务器
查看>>
【题解】洛谷P1074 [NOIP2009TG] 靶形数独(DFS+剪枝)
查看>>
Dynamics CRM2013/2015 Plugin注册工具Register New Assembly时无法看到注册按钮的解决办法...
查看>>
IE11 开启F12开发人员工具中的 始终从服务器刷新
查看>>
数据库的备份、还原、分离、附加
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK
查看>>
不要62
查看>>
UGUI UI层阻挡射线
查看>>
UVA 10827 Maximum sum on a torus 最大矩阵和
查看>>
python 语言特性
查看>>
Spring MVC: Some notes
查看>>
乐乐开心吗
查看>>