CentOS(Linux)搭建SVN服务器和SVN的使用方法(图文详解)
- 7108
- Linux
- 0
- super_dodo
- 2014/09/24
网络软件项目中Linux服务器中的CentOS已经项目管理工具SVN是中级程序员必须掌握的基础技能.也是项目开发和管理的利器,工欲善其事必先利其器,现在我们开始构建我的项目吧.初期达到的效果是:CenOS服务器安装运行SVN,创建项目版本库,本地windows使用svn客户端更新提交代码,CentOS端使用命令行进行检出更新提交代码等.
第一步:在CentOS上面安装SVN,并启动SVN.
//yum自动安装 yum update //更新一下yum版本库 yum install subversion //安装svn //判断是否安装成功 svn help //svn的帮助手册 svn --version //看到svn的版本和基本信息 svn --version --quiet //看到svn的版本 rpm -ql subversion //查看svn的安装位置 #查看服务是否正常起来: netstat -tunlp | grep svn tcp 0 0 0.0.0.0:3690 0.0.0.0:* EN 3970/svnserve #LISTEN 监听端口3690 ---------------------------------------- //若你之前已安装了svn或者想重新安装svn的话请看下面,判断是否成功请看上面 rpm -qa subversion //检查是否安装了低版本的SVN yum remove subversion //卸载旧版本SVN yum install subversion //安装svn
第二步:创建代码库,并配置代码库(demo)
mkdir -p /opt/svn/demo //新建一个项目目录 svnadmin create /opt/svn/demo //创建SVN项目 //执行上面的命令后,自动建立demo库,查看/opt/svn/demo //文件夹发现包含了conf, db,format,hooks, locks等文件,说明一个SVN库已经建立。 //进入上面生成的文件夹conf下,进行配置 cd /opt/svn/demo/conf //用户密码passwd配置 cd /opt/svn/demo/conf vim passwd //修改passwd为以下内容: [users] # harry = harryssecret # sally = sallyssecret dodobook=123456 //权限控制authz配置 cd /opt/svn/demo/conf vim authz //目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容: //设置[/]代表根目录下所有的资源 [/] dodobook = rw //服务svnserve.conf配置 cd /opt/svn/demo/conf vim svnserve.conf //追加开启以下内容:【采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.】 [general] anon-access=none #匿名访问的权限,可以是read,write,none,默认为read auth-access=write #使授权用户有写权限 password-db=password #密码数据库的路径 authz-db=authz #访问控制文件 realm=/opt/svn/demo #认证命名空间subversion会在认证提示里显示,并且作为凭证缓存的关键字
第三步,启动svn连接
svnserve -d -r /opt/svn/demo //启动SVN 其他项目不换端口的话则不需要再启动 svnserve -d -r /opt/svn/other --listen-port 3391 //如果已经有svn在运行,可以换一个端口运行 //这样同一台服务器可以运行多个svnserver,请检查防火墙,建议用一个即可 ps -ef|grep svn|grep -v grep //查看SVN进程 killall svnserve //停止SVN svnserve -d -r /opt/svn/ // 启动SVN /usr/bin/svnserve --daemon --pid-file=/var/run/svnserve.pid //另外一种启动方式
第四步:本地环境(windows)下测试
最直接的可以使用浏览器 https://111.111.111.234/opt/svn/demo 直接访问. 以Web方式【http协议】访问,一般还要安装配置Apache
最常规的是本地安装TortoiseSVN,连接地址为 svn://111.111.111.234/opt/svn/demo,第一次的时候SVN检出,键入地址,自动生成svn本地地址目录.接下来就可以使用常规的更新和提交了.建议每次提交之前先更新.另外office的文件系统需要本地关闭之后才能提交正确.关于TortoiseSVN的语言包和下载版本,请根据你的操作系统等进行系在.使用说明也很多.择日再详述.
第五部:其实做本地项目到第四步就可以止步了.
当需要部署代码项目的正式环境的时候,在第四部的时候检出代码,就是干净的代码,部署到环境上,即为发布.
但是小项目在开发过程中,需要多人协作,也可能CentOS上面的环境也是一个svn的用户.当本地用户提交了代码,就需要去服务器上面更新一下svn的代码了.(运维高手有构建系统能自动同步到线上.)
常见的svn命令在Linux上面有. //1.将文件checkout到本地目录(当前目录下) svn checkout path (path是服务器上的目录) //例: svn checkout svn://192.168.1.1/opt/svn/demo //简写:svn co //2、往版本库中添加新的文件 svn add file //例如:svn add test.php(添加test.php) //svn add *.php(添加当前目录下所有的php文件) //3.将改动的文件提交到版本库 svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关) //例如:svn commit -m "add test file for my test" test.php //简写:svn ci //4.更新到某个版本 svn update -r m path svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。 svn update -r 200 test.php(将版本库中的文件test.php还原到版本200) svn update test.php //(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit) //简写:svn up
妥善顺利便捷的使用你的svn的工具,可以大大提高你的项目管控能力,同时省去使用ftp等工具,更好更多的腾出时间和精力去做更多的更重要的创新和项目.
相关链接 SVN服务端客户端在Windows下的安装配置和使用(详细图文)
关于自动构建web服务器和svn配合的请关注:
秋花惨淡秋草黄,耿耿秋灯秋夜长。已觉秋窗秋不尽,那堪风雨助凄凉!
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例