perl - 如何使用 subversion 部署 Web 应用程序?

标签 perl svn web-applications

我们是一个由 4 名开发人员组成的小型团队,致力于开发 Web 应用程序。我们在共享服务器上使用 trac+svn 进行版本控制和票务,我们对此感到高兴和满意。同一个共享服务器还托管我们的 Web 应用程序。该应用程序本身是一个 Perl CGI 应用程序,它使用 CGI::Application 以及安装在通常 (/usr/lib/perl...) 和一些不寻常位置 (/home/user/lib/perl..)。虽然广泛的细节可能无关紧要,但最重要的一点是 我们开发机器上库的位置/布局与生产(共享)服务器上的不同 .我们必须接受这一点。但是,所有开发机器上的库布局都是相同的。

这是我和我的同事遵循的典型但显然不是最佳的工作周期:

  • 开发机器上的代码和测试
  • checkout /提交/更新我们的代码到 SVN
  • 定期“svn export”到服务器的相应 DocumentRoot
  • 手动编辑导出的树以设置库包含匹配服务器上的库布局
  • 直播服测试申请,互相提票
  • 转至 1

  • 显然,必须有更好的方法,并且希望听到其他可能比我们处理得更好的人的意见。例如有没有办法 svn export并以自动方式修复库位置?或者是否有一些完全不同的方法来处理这种情况,而不是我们迄今为止所做的。

    感谢您的关注

    最佳答案

    您应该有可以为您执行此操作的脚本,这些脚本可以从本地机器上运行。我的总是看起来像:

    $> checkout from source or copy from working
    $> run sed/perl -pi/copy to convert configs to the production values 
         (ie cp production.config myconfig)
    $> upload to web server (rsync/ssh/ftp/etc)
    $> ssh $SERVER migrate_db, set permissions, run unit tests, etc
    

    最后一个需要我一直在寻找的 ssh 访问权限,但其他一切都可以在本地完成。您通常会有一组开发配置和一组生产配置(或从开发转换为生产的脚本

    一步上传始终是 真的好主意。

    关于perl - 如何使用 subversion 部署 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794863/

    相关文章:

    java - 区别 webcontent 和 webapp

    Perl 在 Test::MockObject 中使用 set_bound

    svn - 创建没有修订历史的 SVN 分支

    perl - 为什么我的 Perl CGI 程序返回服务器错误?

    svn - 全局定义 svnSetting

    java - 服务构建器在构建时无法删除其 jar 文件

    javascript - 使用 jQtouch 的 Web 应用程序中的 SQLite

    web-applications - 我如何享受或避免设计我制作的每个 Web 应用程序?

    perl - 如何计算 float 的 div 和 mod?

    c++ - Wxwidgets/Wx Perl 网格大小问题