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
  • 相关阅读:
    jenkins学习:jenkins+maven
    git学习
    jenkins学习:jenkins+gitlab
    mongodb安装和运行
    ideaJ+maven+javaweb实践: sevlet实现upload&download,javaIO代码
    pageObject学习
    postman接口测试
    TODO 软件测试68题
    testng优化:失败重跑,extentReport+appium用例失败截图,测试报告发邮件
    testng报告-extentsReports使用-klov
  • 原文地址:https://www.cnblogs.com/php5/p/2154183.html
Copyright © 2011-2022 走看看