zoukankan      html  css  js  c++  java
  • Centos 6让SVN提交文件自动更新到nginx的WEB目录

    最近我在centos 6的系统中安装了subversion 的 svn 服务器。同时也安装了 nginx WEB服务器。现在我想让 svn 提交的文件自动更新到nginx所指定的web目录中。这样一来,我就不需要提交之后,再通过FTP将文件上传到nginx的web目录,再通过浏览器去访问这个web目录里面的脚本。所以,就有了本篇文章纪实。

    环境介绍:
    1)系统centos 6.3 64位。
    2)服务器端SVN版本 1.6.11。
    3)WEB服务器nginx版本 0.8.46。
    4)nginx的WEB目录:/data0/htdocs/wwwroot
    5)svn仓库中心目录:/opt/svn/

    配置步骤如下:
    1、在svn仓库中心下创建一个创建wwwroot,shell命令如下:

    svnadmin create /opt/svn/wwwroot/

    2、配置wwwroot创建,shell命令如下:

    cd /opt/svn/wwwroot/conf/
    vim svnserve.conf

    找到以下的内容,并在行首注释符号#删掉。

    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz

    为 svntest 项目增加svn用户,并且赋予权限值:

    vi authz

    在文件中添加如下代码:

    [wwwroot:/]
    wwwroot = rw

    代码的意思是:为 wwwroot 项目添加一个wwwroot 的用户,并且,这个用户对于 wwwroot 项目拥有读写权限。

    给用户分配密码,执行如下命令:

    vi passwd

    输入如下内容:

    wwwroot =123456

    配置好SVN之后,请查看你的 svn 是否启动,如果没有启动,用以下命令启动:

    svnserve -d -r /opt/svn/

    3、配置项目仓库的钩子配置。
    可以把钩子看成是WEB项目与SVN项目仓库之间的一个关联。通过向svn项目仓库提交脚本代码,利用钩子shell脚本可以自动向web项目中将脚本文件更新过去。

    进入SVN项目仓库钩子所在目录,shell命令:

    cd /opt/svn/wwwroot/hooks/

    然后执行如下复制命令:

    cp post-commit.tmpl post-commit

    然后编辑post-commitshell脚本,shell命令如下:

    vi post-commit

    将里面的所有代码注释掉,然后输入如下代码:

    cd /data0/htdocs/wwwroot
    /usr/bin/svn cleanup
    /usr/bin/svn up /data0/htdocs/wwwroot/--username "wwwroot"--password "123456"

    这个地方需要注意,我们先进入到wwwroot目录下进行SVN清理(cleanup),消除一些隐患。然后再执行将 svn wwwroot项目创建里面的代码同步更新到web项目目录/data0/htdocs/wwwroot/中去。这里的账号wwwroot和密码123456是我们创建SVN wwwroot项目仓库的时候指定的。

    这个时候,我们去提交一个文件到svn,这时会发现在/data0/htdocs/wwwroot/目录下同步更新过来了。

    如果没有反应,会有两个地方可能出错:
    1)配置文件与路径写得不对,可以直接通过手工方式去执行post-commit看看有没有报错。
    2)权限不对。即/data0/htdocs/wwwroot权限是否足以满足脚本的读写。

  • 相关阅读:
    词法分析程序
    关于编译原理
    超神c语言文法
    linux基本命令
    用bat来注册ocx
    当web配置文件 appSettings配置的东西越来越多时,可以拆开了。
    MVC的URL路由规则
    ASP.NET MVC 中如何实现基于角色的权限控制
    查cc攻击
    关于session介绍
  • 原文地址:https://www.cnblogs.com/ninelands/p/3166575.html
Copyright © 2011-2022 走看看