こんにちは、Habr!
最近、使用するすべてのコンピューター間でワークスペースが同期されることに戸惑いました。 サイトのすべてのファイルとデータベースを1台のコンピューターから別のコンピューターに持ち込むことは選択肢ではないことに気付きました。 このプロセスを自動化することにしたので、私はDropbox \ Google Drive \ Yandex.Disk \その他のクラウドドライブ(オプションを選択)に注意を引きました。
私が最初に考えたのはGIT(bitbucket、github)でしたが、データベースと同期させることは非常に困難です。 さらに、完全に自動化されたソリューションが必要でした。 したがって、このオプションは表示されなくなりました。
そもそも、次のような必要なアクションをすべて実行する特定のサービスを探すことにしました。
- 両方のシステム(Windows、Mac)で編集できるように、サイト作業ファイル(PHP、HTML、CSSなど)の同期
- データベースの同期
- IDE設定、プラグイン、スニペットを同期する
- インターネットなしでのローカル作業の可能性。 したがって、 koding.comなどの多くのオンラインサービスは除外されました 。
- Googleドライブクラウドドライブ経由で同期する機能
検索に数時間費やした後、私は適切なものを見つけませんでした。 しかし、その過程で、Dropboxなどを介してワークスペースを同期するための多くの指示とガイドに出会いました。 別の方法を見つけられないので、この解決策を試してみることにしました。
残念なことに、私にとって関心のあるすべての点に関する包括的な説明が掲載された記事は1つもありませんでした。 また、その過程で、まったくカバーされていないかなりの数の問題に出会いました。
最初のステップは、ツールのスタックを決定することでした。 Windows開発にはDenverパッケージを使用し、Mac OSXにはMAMPを使用しました。 残念ながら、これらのツールは互換性が低いため、私はそれらに代わるものを探すことにしました。 バージョンの競合を解消するクロスプラットフォームソリューションを探していました。 最初は、XAMPPを使用する予定でしたが、構成しようとして問題が発生しました。
短い検索の後、 AMPPSに出会いました
利点:
- クロスプラットフォーム(Windows、Mac OSX)
- 無料
- サーバーを起動および構成するための便利なインターフェース
- PHP、MySQL、その他のバージョンの完全な同期。 ワンクリック更新
- 豊富な機能を備えた優れたWebベースのインターフェイス。 たとえば、CMSまたはフレームワークをインストールします。
- MongoDBサポート(必要ありませんが、突然誰かが必要とします)
このパッケージを試してみることにしましたが、おそらくそれが最良のソリューションであることが判明しました。 今、私は完全にそれに切り替えました。
ここで、すべてのファイルをクラウドドライブのディレクトリに保存するようにこのソフトウェアを構成する必要がありました。 タスクは見かけほど簡単ではありませんでした。
[Apache]セクションに移動し、[構成]を選択する必要があります。 構成ファイルが開きます。ここで、行を見つけて変更する必要があります
# DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "D:\\ \ "
次のステップは、データベースを同期することです。 ほとんどの問題と競合がありました。 同期を使用するには、構成を変更する必要があります。 パネルに移動し、[MySQL]をクリックして構成アイテムを選択します。 次に、行を検索して変更します。
# Replication Master Server (default) # binary logging is required for replication #log-bin=mysql-bin
MySQLロギングをコメントアウトする必要があります。 そのため、障害と競合が発生しました。 次に、データベース自体を同期する必要があります。 これを行うには、AMPPS \ mysqlフォルダーに移動します。 データフォルダーへのシンボリックリンクを作成し、クラウドドライブ内のフォルダーに関連付ける必要があります。 これを行うには、コンソールを開きます。
最初のマシンであるWindowsの場合:
cd “C:\\\AMPPS\mysql” mkdir "D:\\\\\mysql" mv data “D:\\\ \Sublime\User” cmd /c mklink /D data "D:\\\\\mysql\data"
後続の各Windowsについて:
cd "C:\\\AMPPS\mysql\" rmdir -recurse data cmd /c mklink /D data "D:\\\\\mysql\data\"
最初のマシンであるMacOSXの場合:
cd ~/Application/AMPPS/mysql/ mkdir ~// / /mysql/ mv data ~// / /mysql/ ln -s // / data
後続の各マシン、MacOSXについて:
cd ~/Application/AMPPS/mysql/ rm -r data ln -s // / data
これで、データベースが同期されました。 新しいサイトを作成するには、Webコントロールパネルlocalhost / ampps addressに移動する必要があります 。 [ドメインの追加]セクションの横。 このセクションで正しく入力する必要がある主なものは、ドメインパスです。 ここでは、DocumentRoot Apacheが登録されたのと同じディレクトリに作成されたクラウドドライブ内のフォルダーを示します。 この手順は、マシンごとに実行する必要があります。 その後、完全に同期したプロジェクトが利用可能になります。
最後のポイントは、お気に入りのIDE Sublimeテキストのプロジェクト、設定、およびプラグインを同期することでした。 現在、バージョン3を使用しています。 適切に同期するには、Packages / Userフォルダーのみを同期する必要があります。 各OSには、独自のバージョンのプラグインが存在する場合があります。 この場合、プラグインのリストが同期され(事前にPackage Controlをインストールする必要があります)、正しいバージョンが自動的にロードされます。
最初のマシンであるWindowsの場合:
cd "$env:appdata\Sublime Text 3\Packages\" mkdir “D:\\\ \Sublime” mv User “D:\\\ \Sublime\User” cmd /c mklink /D User “D:\\\ \Sublime\User”
後続の各Windowsマシンに対して:
cd "$env:appdata\Sublime Text 3\Packages\" rmdir -recurse User cmd /c mklink /D User “D:\\\ \Sublime\User”
最初のマシンであるMacOSXの場合:
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/ mkdir ~// / /Sublime mv User ~// / /Sublime ln -s ~// / /Sublime/User
後続の各マシン、MacOSXについて:
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/ rm -r User ln -s ~// / /Sublime/User
もちろん、プロジェクトをこのフォルダーに保存することもできます。 これで、ワークスペースの同期が完了しました。
この投稿を書く前に、この同期方法をテストしました。 最初から最後まで、3つのプロジェクトが作成されました。 データベースがクラッシュしたのは一度だけであり、重大なデータ損失はありませんでした。 90%の確率で、これの理由はコードに私ができないことでした。 同期の速度と利便性は、カスタマイズの手間をすべてカバーし、ワークフローを大幅に改善できます。