Centos搭建SVN服务器
搭建SVN服务,有效的管理代码,以下三步可以快速搞定。 1、安装 #yum install subversion 判断是否安装成功 #subversion -v svnserve, version 1.6.11 (r934486) 出现上面的提示,说明安装成功。 如果提示如下:-bash: subversion: command not found 经过查找发现: [root@]# svnserve --version svnserve, version 1.6.11 (r934486) compiled Apr 11 2013, 16:13:51 Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository back-end (FS) modules are available: * fs_base : Module for working with a Berkeley DB repository. * fs_fs : Module for working with a plain file (FSFS) repository. Cyrus SASL authentication is available. 有了SVN软件后还需要建立SVN库。 #mkdir /opt/svn/repos #svnadmin create /opt/svn/repos 执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。 2、配置 上面的操作很简单,几个命令就搞定, 下面的操作也不难。 进入上面生成的文件夹conf下,进行配置, 有以下几个文件authz, passwd, svnserve.conf 其中authz 是权限控制,可以设置哪些用户可以访问哪些目录, passwd是设置用户和密码的, svnserve是设置svn相关的操作。 2.1先设置passwd [users] # harry = harryssecret # sally = sallyssecret hello=123 用户名=密码 这样我们就建立了hello用户, 123密码 2.2 再设置权限authz [/] hello= rw 意思是hello用户对所有的目录有读写权限,当然也可以限定。 如果是自己用,就直接是读写吧。 2.3最后设定snvserv.conf anon-access = none # 使非授权用户无法访问 auth-access = write # 使授权用户有写权限 password-db = password authz-db = authz # 访问控制文件 realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。 采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错. 好了,通过以上配置,你的svn就可以了。 3、连接 启动svn: svnserve -d -r /opt/svn/repos 如果已经有svn在运行,可以换一个端口运行 svnserve -d -r /opt/svn/repos --listen-port 3391 这样同一台服务器可以运行多个svnserver 好了,启动成功后,就可以使用了。 建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口 :端口号) 连接后可以上传本地的文件,有效的管理你的代码。
4.需要设置iptabls 的出入口
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3391 -j ACCEPT
-A OUTPUT -p tcp --sport 3391 -j ACCEPT
重启iptables /etc/init.d/iptables restart
创建版本库:
终端输入:svnadmin create [路径]
该路径可以是相对路径,例如,当前在home/user/svn/目录下,输入svnadmin create myproject,则该版本库会被创建在home/user/svn/目录下,新建一个文件夹名为myproject,其中便是版本库的文件了。
将文件导入版本库:
终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]
源路径可以是相对路径,导入时会递归导入源路径下的所有文件和文件夹,目标版本库路径需要绝对目录(反正我试验是这样的),例如版本库的目录是:home/user/svn/myproject/。则应该这样写:file:///home/user/svn/myproject/
例如将当前目录导入版本库myproject:
svn import . file:///home/user/svn/myproject -m "导入文件"
从版本库导出:
导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出
终端输入:svn co [版本库路径] [导出目标路径]
例如将myproject库中的文件导出到当前目录:svn co file:///home/user/svn/myproject .
SVN基本操作命令:
首先创建SVN库 并且为SVN库的权限授权
svn co http://127.0.0.1:81/svn/ahlm 执行checkout命令创建SVN版本库的具体内容
cp 源文件 到 tmp/www/kof 文件夹内
执行 svn add ./* 把所有文件添加到SVN 可以执行的目录里面去
执行 svn ci ./* -m "11122" 执行cimit操作
修改shell脚本 定时执行 svn up命令
打开定时文件crontab -e 修改了每1分钟执行一次