我和外部网(192.168.x.x)上有SVN服务器供我和我的开发人员开发我们的网站(202.6.x.x)。我的问题是,我的实时服务器没有安装svn
命令。该实时服务器无法访问SVN服务器,因为它没有公共IP。部署我们网站的最佳方式是什么?
答案 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)来传递目标服务器所需的包。