我们是一个由 4 名开发人员组成的小型团队,致力于开发 Web 应用程序。我们在共享服务器上使用 trac+svn 进行版本控制和票务,我们对此感到高兴和满意。同一个共享服务器还托管我们的 Web 应用程序。该应用程序本身是一个 Perl CGI 应用程序,它使用 CGI::Application 以及安装在通常 (/usr/lib/perl...) 和一些不寻常位置 (/home/user/lib/perl..)。虽然广泛的细节可能无关紧要,但最重要的一点是 我们开发机器上库的位置/布局与生产(共享)服务器上的不同 .我们必须接受这一点。但是,所有开发机器上的库布局都是相同的。
这是我和我的同事遵循的典型但显然不是最佳的工作周期:
svn export
”到服务器的相应 DocumentRoot 显然,必须有更好的方法,并且希望听到其他可能比我们处理得更好的人的意见。例如有没有办法
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/