Jump to content

Developing on Multiple machines


Tyler Cassidy
 Share

Recommended Posts

Any suggestions on the best way to develop an application on multiple machines, at work I have my laptop and once I get home I'd like to switch to my PC since it's more comfortable. I have git setup for version control but any suggestions on what would be the best way to keep the database between both machines synced for in terms of settings, hooks, etc?

 

Thanks!

Link to comment
Share on other sites

The only real alternative would be an internet accessible database server that you could connect to from both installs - this will likely create complications, however, due to differing file systems (data store, photo uploads, hook files, etc.).

IN_DEV will automatically synchronize database structure, so I generally find that also synchronizing the actual data is unnecessary when switching between machines.

Link to comment
Share on other sites

What I did for quite some time...

  • Get a cheap VPS from any provider, 512M of RAM should be sufficient for a DEV install and MySQL database.  You need a VPS because you need shell access to install Dropbox.
  • Create a free dropbox account. 
  • Install Dropbox
  • Turn on exclusions for everything, no need to publish your entire dropbox account to the server.
  • Symlink a folder within the dropbox root directory to your webroot directory. 
  • Include this new directory in Dropbox syncing. 

This will ensure the files across all machines are always kept up to date.  This also solves the problem of saving a file, then having to FTP the file to a server.  Dropbox keeps all files in sync within a few seconds of saving.  The most lag I ever experienced was 10 seconds and that's because I was working via a hotspot with my mobile phone. 

Downside to this set-up.

  1. You must always have internet access to access your dev installation. 
  2. You must have the dev installation behind an .htaccess authentication to comply with IPS test installation rules.

 

Edited by Aiwa
Link to comment
Share on other sites

15 minutes ago, Aiwa said:

What I did for quite some time...

  • Get a cheap VPS from any provider, 512M of RAM should be sufficient for a DEV install and MySQL database.  You need a VPS because you need shell access to install Dropbox.
  • Create a free dropbox account. 
  • Install Dropbox
  • Turn on exclusions for everything, no need to publish your entire dropbox account to the server.
  • Symlink a folder within the dropbox root directory to your webroot directory. 
  • Include this new directory in Dropbox syncing. 

This will ensure the files across all machines are always kept up to date.  This also solves the problem of saving a file, then having to FTP the file to a server.  Dropbox keeps all files in sync within a few seconds of saving.  The most lag I ever experienced was 10 seconds and that's because I was working via a hotspot with my mobile phone. 

Downside to this set-up.

  1. You must always have internet access to access your dev installation. 
  2. You must have the dev installation behind an .htaccess authentication to comply with IPS test installation rules.

 

Wouldn't git work for this too ( Just to avoid any further dependencies like dropbox) ? I'm one of these weird people with almost more development devices then hair on my head, so I'm quite familiar with the sync issues, but I'm doing exactly what @Ryan Ashbrook posted.

As long as you pull the repo when you start your work and push once you're done, everything should be fine. ( I used to automate this, so that it synced or just created a new dev instance when I turned the computer on, but it just got too weird and made me feel bad because I got soooo lazy :D

Link to comment
Share on other sites

5 minutes ago, Daniel F said:

Wouldn't git work for this too ( Just to avoid any further dependencies like dropbox) ? I'm one of these weird people with almost more development devices then hair on my head, so I'm quite familiar with the sync issues, but I'm doing exactly what @Ryan Ashbrook posted.

As long as you pull the repo when you start your work and push once you're done, everything should be fine. ( I used to automate this, so that it synced or just created a new dev instance when I turned the computer on, but it just got too weird and made me feel bad because I got soooo lazy :D

It would, if being diligent about using git as part of that workflow.  I wasn't using git when I had this set-up.  

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...