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
  • 相关阅读:
    ajaxUtil
    AJAX学习-----与 XML 文件进行交互式通信
    AJAX-----数据库实例
    AJAX学习-----服务器响应
    AJAX学习-----ASP/PHP 请求实例
    scrapy 反扒措施
    scrapy 中文官网学习
    scrapy 破解图片网站防盗链下载
    scrapy 随机中间件配置
    flask 邮件发送
  • 原文地址:https://www.cnblogs.com/php5/p/2154183.html
Copyright © 2011-2022 走看看