在实时站点上没有SVN客户端的SVN服务器更新站点的最佳方法

时间:2010-09-20 02:35:31

标签: svn

我和外部网(192.168.x.x)上有SVN服务器供我和我的开发人员开发我们的网站(202.6.x.x)。我的问题是,我的实时服务器没有安装svn命令。该实时服务器无法访问SVN服务器,因为它没有公共IP。部署我们网站的最佳方式是什么?

3 个答案:

答案 0 :(得分:4)

您可以编写一个简单的PHP脚本,在SVN服务器(或任何其他可以运行SVN并访问Intranet SVN服务器的服务器)的命令行上执行。此脚本可以确保工作副本具有最新版本(使用svn update),然后它可以运行svn export以删除所有.svn元数据。然后,您可以使用curl或任何其他PHP库将FTP / SFTP上传此导出的结构到实时服务器。

您还可以非常聪明地使用SVN服务器上的 post commit hook ,以便每次提交新版本时自动为您执行此操作:)

答案 1 :(得分:1)

编写构建脚本,并与诸如TeamCity

之类的Continuous构建服务器结合使用

答案 2 :(得分:0)

您可以使用ant并使用目标编写脚本(可以使用ant tasks,scp和sshexec)来传递目标服务器所需的包。