TL;DR - Can anyone describe their dev environment that uses Unison to sync 
between OS X and Vagrant/Ubuntu? Or is there something better?

I'm looking for some good solutions for bi-directional folder syncing 
between host and guest. I've seen a lot of discussion surrounding rsync, 
nfs, and unison. For those who aren't familiar with the issue, a performant 
folder sync is important for web developers who make rapid tweaks to 
stylesheets, etc. Native (host) development tools are used and the virtual 
server instance needs to recognize those changes and serve up the new code 
instantly. Two-way syncing is necessary as many operations take place on 
the guest that need to propagate to the host. Traditional approaches 
(sharing, NFS) don't work as once the project reaches a certain size, 
updates and watch tasks become impractically slow.

I use configuration management (Ansible) to set up development environments 
on OS X and provision the virtual machine for development. I have full 
control over what's installed and can automate most of it. I tend to want 
to make everything as close to a "single start command" as possible so 
there are few discrepancies or issues amongst developers and they don't 
have to perform a bunch of redundant steps to begin developing or add 
another devops tools to their toolchain.

So I'm looking for a good solution. I've become interested in the unison 
route due to its performance, but I'm having a hard time figuring out a 
reliable "formula" for downloading/installing and starting up a zero config 
Unison setup between the OS X environment and an Ubuntu VM. I can't seem to 
find the same version available for both the OS X and the Ubuntu 
environment. There are a lot of installer options available across 
platforms for Unison, one of which requires manually installing the CLI 
tool from the GUI (wtf?). There's also SSH vs. TCP communication for sync. 
What has worked for others?

Can anyone specifically describe an OS X <--> Unison <--> Vagrant/Ubuntu 
folder sync setup? What steps are required and how do you instantiate the 
daily dev environment and share this configuration with team members?

-- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to