我们通常使用 Subversion(客户端上的 svn 更新;单向)将我们的软件应用程序部署到我们的客户端。由于延迟高(大文件下载速度很好),我们的一位客户目前遇到问题,因为他们在中国,而我们的服务器在加拿大。Subversion 只是在很长一段时间后因错误而超时。
我们的应用程序有很多小文件(.aspx、.config 等)和一些较大的文件(.dll、.jpg),总大小约为 100mb-200mb。
我目前正在考虑执行以下操作:
- 在服务器上执行本地 svn checkout
- 压缩结果
- FTP或rsync大zip文件到外机
- 将文件解压缩到临时文件夹中。
- 从该临时文件夹执行本地 rsync 到我们的典型安装文件夹。
有没有更好的解决方案?
- 设置一个靠近目的地的 Subversion 镜像?(我每个月只需要几个小时,但可能很难找到)
- 使用另一个版本控制系统?(对于高延迟连接,git 是否更好)?
- 有没有办法打包颠覆补丁(包括二进制文件)以在目的地重新应用而不是发送所有数据?
- 使用 DropBox(使用 Amazon S3)将文件传输到临时文件夹会更好吗?