设为首页 收藏本站
查看: 379|回复: 0

[经验分享] linux自整理SVN搭建及与站点根目录实现钩子同步

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-29 08:56:26 | 显示全部楼层 |阅读模式
一,当使用了svn版本控制系统后每个目录下都会有一个.svn目录存在,开发完当交付产品或者上传到服务器时一般要把这些目录删除。
find . -type d -name ".svn"|xargs rm -rf


二,开始搭建SVN服务


1,mkdir /www/svndata                 //建立版本库目录
svnserve -d -r /www/svndata/              



2,svnadmin create /www/svndata/site              //创建一个新的Subversion项目


3,修改配置
cd /www/svndata/site/conf/         

spacer.jpg

wKioL1VmsNXBxEKaAABDbiooMOc690.jpg
配置允许用户访问

vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否则启动svn server出错

配置密码文件
vim passwd
[users]
# harry = harryssecret
# sally = sallyssecret
appteam = app123
manager = manager
配置登录认证文件
vi authz
[groups]

appm = appteam,manager


[/]
@appm = rw
* = r
或者直接最后添加
[/]
appteam = rw

4,测试》》》
[iyunv@centos6 ~]# svn co svn://localhost/site
取出版本 0。

5,实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中


1)设置WEB服务器根目录为/usr/local/nginx/html/site(我的默认nginx目录)

2)checkout一份SVN

svn co svn://localhost/site /usr/local/nginx/html/site

修改权限为WEB用户
chown -R www:www /usr/local/nginx/html/site


3)建立同步脚本

cd /www/svndata/kaifa/hooks/
wKiom1Vmr0PQjEfSAAEjiGdzJ1c620.jpg
hooks(钩子)文件说明:
# start-commit 提交前触发事务
# pre-commit 提交完成前触发事务
# post-commit 提交完成时触发事务
# pre-revprop-change 版本属性修改前触发事务
# post-revprop-change 版本属性修改后触发事务
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容

复制代码
REPOS="$1"
REV="$2"

BASEPATH=/var/www/html/kaifa
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
svn update $WEBPATH --username appteam --password app123 --no-auth-cache
echo `date`,`whoami`,$REPOS,$REV >> /www/svndata/site/hooks/svn_hook.log



增加脚本执行权限

chmod +x post-commit

最后操作是关闭服务然再打开服务:

svn服务的关闭:
killall svnserve


svn开启:
svnserve -d -r /www/svndata


测试:svn  checkout  svn://localhost/site
修改端口
svnserve -d -r 项目路径 --listen-port 21
SVN自动同步程序执行流程:
1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本
2、在post-commit版本文件中使用php_script.php执行PHP脚本
3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本
4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-71724-1-1.html 上篇帖子: 为RedHat创建本地yum库 下篇帖子: Centos6.5源码搭建SVN+Apache linux 根目录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表