短い話をするには、サーバーとファイルを同期するための単純なDropboxクローンを作成する必要があります。Dropboxあなたのサーバーと同期するDIY:rsync + FSEvents/inotify /他の何か?
私は宿題をしましたが、私は多くの研究を行いましたが、私が見つけた解決策(コードと既に焼いた解決策のいずれも)は十分ではないようでした。
私はここでもstackoverflowで他の記事を読んでいますが、唯一の違いはファイルシステムイベントでトリガされる同期タスクが必要なことです。また、gitは実際のバージョン管理のためにすでに使用されており、この同期タスクには使用できません。私はgithubの上のgitリポジトリを持っていると私はカピストラーノとの定期的な展開を行う
:
は、ここに私のセットアップです。ここに私の問題があります。私たちはインフラストラクチャーとデータの意味合いがあり、実際の現地開発は不可能です。
私のコードはローカルに存在する可能性がありますが、私はgithubでバージョンアップすることができますが、にはが必要です。 は、カウボーイの開発を避けるために、私はこの解決策を考え出した:
は、これが唯一のTPLの何百(HTML + Smartyの)、CSSやJSを必要とするフロントエンド層、のためのものであることに留意してくださいファイルは、*私たちのライブのアプリにログインしている公共
- ため
masterブランチが実行されると、開発者はサーバー上に存在する別のリポジトリに「開発者モード」とポイントに切り替えることができます。この「ゴースト」リポジトリは、単に開発者のローカル作業コピーの正確なレプリカです。これは、ドロップボックスのクローンを介してdevのローカルリポジトリと同期して保持されます。
その方法は、これは私たちのワークフローになります
- 開発者が
- たびに何かがローカルに変更されたすべてのものの上でローカルに動作しない、「ゴースト」開発者のリポジトリには、あまりにも、物事に更新されますサーバ上でテストすることができます
- デベロッパーが結果に満足すれば、開発ブランチにコミットしてプッシュすることができます
- チームが新しいリリースの準備ができたら、すべてのコミットをcapis trano
この方法で、それはGitのワークフローに来るとき、各開発者のゴーストリポジトリは(限りのgitが懸念しているとして、これらのゴーストリポジトリは存在さえしていない、彼らは単にある絵の外に完全にあります開発者のためのユーティリティ)。
これを指定すると(long!)を前提に、これらは私が必要となる機能は次のとおりです。ファイルシステムイベントの同期(作成/更新/削除ファイルやディレクトリ)
- 能力(デルタエンコーディング)、基本的にはおそらく違い
- クロスプラットフォーム(ウィンドウ/ MAC) "が既になさ" ソリューションの中で解決
:
- グッドシンク
- スーパー柔軟なファイル同期装置
- ChronoSync
のみグッドシンクは私が必要なものを提供するように見えたが、私は、自動更新機能(ファイルシステムの更新の同期が)で動作させることができませんでした可能な方法。
レシピの中で私はFSEvents、inotify(Linux)+ rsyncオプションについて読んだことがありますが、私のリーグから少し外れているかもしれません(私は基本的なAppleScriptを使うことができますFSEvents APIまたはinotifyでlot)
これは私が今どこにいるかです。私はどんなタイプの提案にも開放されています。そして、あなたがその主題に関して分かち合うことができるものについて、事前に感謝します。
ありがとうございます!
こんにちは、あなたの答えに感謝。開発チームの誰もがコンソールテキストエディタのファンではありませんので、我々はまた、彼らが最もよく働くツールを選択する可能性を与えようとしています(TextMate、SublimeTextでもかなり大きくなっています)。あなたは実際にrsyncの良い点を作った、私はそれが最終的に私たちが行くつもりのオプションだと思う。何人かの開発者(自分自身を含む)がcmd + sを5分未満で実行することができないことを考慮して、毎回の変更時にサーバーにヒットするのは無責任なのかもしれません:) - rsyncをトリガーするリンゴスクリプトdevで選択したキーボードコンボ –