通常、Subversion(クライアントでのsvn update、単方向)を使用してソフトウェアアプリケーションをクライアントにデプロイします。クライアントが中国にあり、サーバーがカナダにあるため、待ち時間が長い(大きなファイルのダウンロード速度が良い)ため、現在、クライアントの1つで問題が発生しています。Subversionは、非常に長い時間が経過すると、エラーが発生してタイムアウトするだけです。
私たちのアプリケーションには、たくさんの小さなファイル(.aspx、.configなど)といくつかの大きなファイル(.dll、.jpg)があり、合計で約100mb〜200mbになります。
私は現在、次のことを検討しています。
- サーバーでローカルsvnチェックアウトを実行します
- 結果をzip形式で圧縮する
- 大きなzipファイルを外部マシンにFTPまたはrsyncします
- 一時フォルダにあるファイルを解凍します。
- その一時フォルダーから通常のインストールフォルダーへのローカルrsyncを実行します。
より良い解決策はありますか?
- 宛先の近くにSubversionミラーを設定しますか?(月に数時間しか必要ありませんが、見つけるのは難しいかもしれません)
- 別のバージョン管理システムを使用していますか?(gitは待ち時間の長い接続に適していますか)?
- すべてのデータを送信する代わりに、宛先で再適用されるSubversionパッチ(バイナリファイルを含む)をパッケージ化する方法はありますか?
- DropBox(Amazon S3を使用)を使用してファイルを一時フォルダーに転送する方が良いでしょうか?