2009-05-25 99 views
5

我们用SVN测试水域,Beanstalk作为主机。我们的设置看起来是这样的:如何部署Subversion外部?

  • 库:模块

    • 模块1
    • 模块2
    • 模块3
  • 库:网站1

    • 自定义网站代码
    • SVN:外部参考模块1
    • SVN:外部参考模块2
  • 存储库:网站2

    • 自定义网站代码
    • SVN:外部参考模块2
    • SVN:外部引用模块3

豆茎具有内置的FTP部署工具。在我的理想世界中,Beanstalk只会看到外部参考,并随模块网站更改一起部署模块的任何更改,但这不受支持,并且won't be anytime soon

以包含对外部模块进行更改的方式自动部署网站1和网站2的最佳做法是什么?

其他SVN主机是否更好地支持部署外部?

如果可能,我想避免添加我们自己的构建/部署服务器。

回答

1

如果部署使用导出,那么这可能是有意义的;我很确定SVN的最新版本也导出了外部,但早期版本没有。也许你最好的选择是在你的部署服务器上检查有问题的存储库并从那里更新?如果您使用分支和标记,您也可以在您的webroot上创建指向结帐中不同版本的符号链接。

+0

我们最终做了这样的事情,使用CruiseControl.net。 – 2009-11-27 20:39:47

1

为什么不签出svn repo到本地机器,并执行svn更新和提交,这将使beanstalk保持最新状态。然后通过beanstalk进行部署。你可以安排一个脚本每天svn udpate。