zoukankan      html  css  js  c++  java
  • 利用钩子方法动态构建网站SVN代码 新风宇宙

    SVN有很多钩子方法:

    * start-commit
    * pre-commit
    * post-commit
    * pre-revprop-change
    * post-revprop-change

    我们设置post-commit文件的内容:

    /usr/bin/svn update SVN路径 --username SVN用户 --password SVN密码

    设置可执行的权限:chmod +x post-commit

    这里有一个前提:那就是SVN服务器和WEB服务器是同一台,不过在实际应用中,它们很可能是分离的,这时,我们可以用SSH的KEY认证达到从SVN服务器自动远程执行命令更新WEB服务器的目的:

    先在SVN服务器上做好KEY,并把生成的KEY文件拷贝到WEB服务器上:

    ssh-keygen -t rsa
    scp /root/.ssh/id_rsa.pub WEB地址:/root/.ssh/authorized_keys

    然后把post-commit文件的内容改为:

    ssh WEB用户@WEB地址 /usr/bin/svn update SVN路径 --username SVN用户 --password SVN密码

    如果/etc/ssh/sshd_config设定了PermitRootLogin no,则不允许Root登陆,那么你得换一个用户试试。

    ------------------------------------------------------------------------------

    顺便说一句,别忘了设定Apache,以防止SVN目录被浏览:

    <DirectoryMatch "/\.svn">
    Order deny,allow
    Deny from all
    </DirectoryMatch>

    另外,如果要在Putty下使用id_rsa的话,不能直接用,需要用Putty提供的puttygen工具转换一下:

    Conversions -> Import key -> Save private key
  • 相关阅读:
    结构与联合
    信号与槽知识点
    函数
    元对象编译器moc
    堆与栈
    More Effective C++ (虚拟构造函数)
    重载 覆盖 隐藏
    继承专题
    PowerDesigner 的常用方法(转)
    搜狗输入法导入Google词库bug
  • 原文地址:https://www.cnblogs.com/php5/p/2154183.html
Copyright © 2011-2022 走看看