最全!Linux服务器下安装SVN,并添加SVN项目,自动更新项目文件到web目录
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了最全!Linux服务器下安装SVN,并添加SVN项目,自动更新项目文件到web目录,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3966字,纯文字阅读大概需要6分钟。
内容图文
注意版本,不同版本命令有点点的不同,遇到要查下命令使用格式 linux版本: subversion版本: ? ? ? 一: yum 安装 subversion- yum install subversion
- svnserve --version
- 运行以下命令创建目录。(这个目录是所有SVN项目的总目录,想放哪就在哪建,比如你可以放在/home/www/svn)
- mkdir /home/svn
- 依次运行以下命令创建版本库。(以后每添加一个SVN项目,重复这步以下的步骤/如: svnadmin create /home/svn/newProjectName)
- cd /home/svn
- svnadmin create /home/svn/testHTML
- 依次运行以下命令查看自动生成的版本库文件。
- cd /home/svn/testHTML
- ll
Subversion目录说明: db目录:所有版本控制的数据存放文件。 hooks目录:放置hook脚本文件的目录。 locks目录:用来追踪存取文件库的客户端。 format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。 conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。运行命令cd conf/进入conf目录(该SVN版本库配置文件)。 返回结果如下: authz:是权限控制文件。 passwd:是账号密码文件。 svnserve.conf:SVN服务配置文件。 按以下步骤设置账号密码:
- 运行 vi passwd。
- 按 i 键进入编辑模式。
- 在 [users] 块中添加用户账号和密码,格式:账号=密码,比如示例中的suzhan = redhat(注意等号两端要有一个空格)。
- 按 Esc 键退出编辑模式,并输入 :wq 保存并退出。
- 运行 vi authz。
- 按 i 键进入编辑模式。
- 在末尾添加如下代码(其中,r表示读,w表示写):
- [/]
- suzhan=rw
- 按 Esc 键退出编辑模式,并输入 :wq 保存并退出。
- 运行命令 vi svnserve.conf。
- 按 i 键进入编辑模式。
- 打开以下几个注释(注意每行不能以空格开始,等号两端要有一个空格):
- anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示
- auth-access = write #授权用户可写
- password-db = passwd #使用哪个文件作为账号文件
- authz-db = authz #使用哪个文件作为权限文件
- realm = /home/svn/testHTML #认证空间名,版本库所在目录
- 按 Esc 键退出编辑模式,并输入 :wq 保存并退出。
- svnserve -d -r /home/svn
注意: 运行以下命令停止SVN命令。 killall svnserve(以后每添加一个SVN项目,重复第三步、iii以下的步骤/如: svnadmin create /home/svn/newProjectName) ? 四、测试服务器: //我们在web目录测试(/home/www) cd /home/www svn co svn://localhost/testHTML 如果提示:Checked out revision 1.? 表示checkout成功 我们添加新文件来测试是否提交成功 (下面的命令可能会随着svn的版本不同而有不同,不能正常运行时,查看帮助文档,svn -help, 使用“svn help <subcommand>” 显示子命令的帮助信息。 使用“svn --version”查看程序的版本号和版本库访问模块,或者 使用“svn --version --quiet”只查看程序的版本号。) ? cd /home/www/testHTML touch index.php svn add index.php //成功的话会显示 A index.php svn commit -m "测试提交文件" ? ? 五、本地SVN拉取文件 ? ? 六、 实现svn更新自动同步到web目录:(这一步要特别注意,网上很多教程并没有说明,都是抄来抄去,导致错误很多。) 进入/home/svn/testHTML/hooks下,建立post-commit文件: 具体看以下中文注释 ,在用vi编辑时,要去掉这些中文注释 ? #!/bin/bash REPOS="$1" REV="$2" export LANG=en_US.UTF-8? //这里设置字符格式 SVN_PATH=/usr/bin/svn? ???? ?? ? //这里是SVN安装的目录,一般都是这个,如果没改过,查看svn安装目录命令:whereis svn WEB_PATH=/home/www/testSVN1? ? //这个是项目运行目录,也就是你的网站的目录 SVN_USER=admin?? ??? ??? ?? ? //这里是网上教程基本都报错的原因,这个用户名可以随意,但一定要在这个项目版本库的authz、和passwd中添加进去,也就是上面的第三步中的设置账号密码权限。不然会报各种错。 SVN_PASS=admin LOG_PATH=/tmp/svn.log?? ?? ? //这个是日志目录 echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH? //写入日志的内容 echo `whoami`,$REPOS,$REV >> $LOG_PATH $SVN_PATH update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH ? 给post-commit 执行权限: chmod 777 post-commit ? 七、然后在PC 端,就可以用SVN客户端使用了 ? svn地址跟前面设置的目录一致。由于后面用不同电脑写的教程 ,所以文件名由上面的testHTML变成了testSVN1,但仅仅只是改了名字,其它一样 ? ? ? ? ? ? ?
内容总结
以上是互联网集市为您收集整理的最全!Linux服务器下安装SVN,并添加SVN项目,自动更新项目文件到web目录全部内容,希望文章能够帮你解决最全!Linux服务器下安装SVN,并添加SVN项目,自动更新项目文件到web目录所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。