Loading... <p> svn在版本控制方面还是挺有用的。坑运维的人中就有研发,出补丁或版本的时候很坚定的说“升吧,没问题”,结果升上去后就会狂报错。所以运维的要在打补丁,尤其是改动很大的时候一定要把后路想好。否则会长时间的影响业务。svn就有一个很好的机制–回退(当然你也可以事先备份下),可以回退到之前的某个时间节点,操作很方便的。当然svn还有其他高级的用法,日后补上。并且svn不是单独工作,它是和rsync和jenkins结合来玩的。下面介绍svn的编译安装,及简单配置。rsycn和jenkins后续会有介绍的。</p> <p style="line-height: 16px"><img style="vertical-align: middle;margin-right: 2px" src="//cto.wang/usr/uploads/2016/07/20160703160745-13.gif" />H)6QSJE0FMN952{)}2@MMV1.png</p> <p></p> <p>一、安装前的准备工作:</p> <p> 源码下载地址:http://subversion.apache.org/download.cgi 版本version 1.9.2</p> <p> 源码存放于: /packages 下 </p> <p> $ yum install apr* apr-util* sqlite* -y</p> <p> $ wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip</p> <p> 解压缩sqlite-amalgamation-3071501.zip</p> <p> 重命名:</p> <p> $ mv sqlite-amalgamation-3071501 /prackages/subversion-1.9.2/sqlite-amalgamatio</p> <p> $ ./configure –prefix=/usr/local/svn</p> <p> $ make && make install </p> <p></p> <p>二、配置</p> <p> </p> <p> 1创建一个仓库:</p> <p> svnadmim create –fs-type fsfs -d /usr/local/svn/projects </p> <p>执行这一步操作后projects目录(仓库)中会包含 :conf db format hooks locks README.txt 。配置文件和授权存放在了conf中;db存放数据库;</p> <p>hooks中存放钩子函数; </p> <p> </p> <p> 2在目录conf中进行相关配置</p> <p> $ vim svnserve.conf </p> <p> 加入</p> <p> [general]</p> <p> anon-access = read 这个参数说明匿名用户对svn服务器上的文件具有读的权限</p> <p> auth-access = write 这个参数说明取得授权的用户具有读写权限</p> <p> password-db = passwd 注意此处的passwd是个文件,这个文件用于存放授权用户的密码,此处也可以写成 /path/to/SOME_FILE</p> <p> $ vim authz</p> <p> 在[groups]下加入</p> <p> admin = zhang 超级管理员的登录用户名</p> <p> wanguser = wang 普通用户的的登录用户名,像这样的用户可以建立多个</p> <p> [/]</p> <p> @admin = rw</p> <p> @wanguser = r</p> <p> $ vim passwd</p> <p> [users]</p> <p> zhang = zhang 等号右边的"zhang"是用户zhang的密码</p> <p> wang = wang 同上</p> <p> 3启动svn服务</p> <p> $useradd svn</p> <p> $chmod -R svn:svn /usr/local/svn</p> <p> $svnserve -d –listen-port 3690 -r /usr/local/svn (/usr/local/svn相当于svn服务器的根目录,如果写成其他路径的话客户端将无法连接。 )</p> <p> $ps -ef|grep svnserve</p> <p> $netstat -na|grep 3690</p> <p> 4找到SVN项目的hooks目录</p> <p> $vim hooks/post-commit</p> <p> 加入</p> <p> #!/bin/bash /usr/local/svn/bin/svn checkout svn:192.168.11.128/projects /home/svn/zhang –username zhang –password zhang –no-auth-cache</p> <p> 路径/home/svn/zhang用于存放正式的的项目(应用程序代码)</p> <p>至此配置完成。在windows环境下安装一个客户端就可以向svn服务器上上传项目了。我用的是TortoiseSVN Repository Browser(一个客户端工具,百度一下会有的),这样svn就玩起来了。</p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信