Tools
首页
画图
音乐
采集
记事
博客
实验室
登录
lypeng
146
文章
11
分类
46
记事
分类
生活-[23]
Linux-[24]
前端-[9]
数据库-[16]
PHP-[31]
git-[7]
其他-[6]
python-[20]
算法-[4]
React-Native-[4]
中草药-[2]
广告位1
广告位2
首页
/ git
返回列表
linux下svn多项目管理与代码同步到网站目录
阅读:979
发布:2017-05-07
作者:lypeng
> 之前写过在windows服务器上安装svn,创建仓库,并将每次的提交同步到网站目录中,现在来尝试下Linux > 我用的Ubuntu16.04 先放图,实现效果大概如下:  ##简要说明: 本地->服务器仓库,svn commit 服务器仓库->本地,svn update 服务器仓库->服务器网站目录:初次建立后用svn co(checkout)一次,之后,就可以自动使用post-commit提交了 服务器网站目录<=>本地网站:用winscp或者vsftp之类的传输 ##部署开始 ###安装 `sudo apt-get install subversion` ###多项目管理配置 ```bash su root #切换到root cd / mkdir -p svnrepo/{test,dpshop} #创建svnrepo目录及子目录test,dpshop ``` ####先来配置第一个项目 ```bash svnadmin create /svnrepo/test #创建test仓库 cd /svnrepo/test/conf #编辑下面三个文件 vim authz #修改内容如下:(更多权限要求自己研究吧) [groups] admin=lypeng [/] @admin = rw vim passwd #修改内容如下 [users] lypeng = password #这里的username和password自己设置 vim svnserve.conf #修改以下几个部分 anon-access = read auth-access = write password-db = passwd authz-db = authz realm=/svnrepo/test ``` ####再来配置第二个项目 `svnadmin create /svnrepo/dpshop` 如果你是一个人操作,直接用cp复制刚编辑好的文件,另一种办法,修改etc/subversion/总配置文件,应该也可以(没有测试),复制完了,记得改下realm路径 `cp -r /svnrepo/test/conf/* /svnrepo/dpshop/conf/` 文件编辑完后启动svn `svnserve -d -r /svnrepo/ #注意目录这里写的是项目总目录,不是分项目目录` 附:停止svn命令(杀死进程,有没有别的方法,没有注意看) ```bash ps -ef | grep svnserve kill -9 123456(进程ID) ``` --------------------------------- ###服务器网站目录配置 ```bash cd /phpstudy/www mkdir test chmod a+w test svn co svn://123.8.8.8/test #第一次先checkout一次,之后可以用下面的同步设置自动完成 ``` ###本地(win7) + 安装TortoiseSVN + 进入F:\test目录 + 右键-》checkout,svn://123.207.36.54/test + 随意添加一个文件 + 右键-》svn commit,输入账号密码即可提交! ##关于代码同步 ```bash cd /svnrepo/test/hooks/ cp post-commit.tmpl post-commit vim post-commit #修改为以下内容: #!/bin/sh SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件 WEB=/phpstudy/www/test #要更新的网站目录 $SVN update $WEB --username xxx --password xxx ``` ##本地测试 进test目录,随便添加个文件,commit提交。 不出意外,服务器上,会自动根据hooks文件夹中的post-commit设置将提交文件自动同步到/phpstudy/www/test目录 以后也就可以不用ftp了,直接svn commit完成后,就可以输入网址浏览了~ ##备注说明 + 服务器上所有的svn命令需要使用root用户执行 + post-commit需要有执行权限 + 更多问题,欢迎评论或留言 > 2017-05-11补充 > svnserve -d -r /svnrepo/ svn服务的启动需要用root用户启用,否则普通用户会post-commit失败,提示没有权限,如果服务器重启了,需要重新运行启动该服务 ------------ 参考网址: +
http://blog.csdn.net/design321/article/details/17794419
+
http://blog.csdn.net/yianshu/article/details/46684341
------本文结束
感谢阅读------
上一篇:
干货分享~svn安装与其服务器搭建同步代码
下一篇:
SVN批量更新项目