rails-client is an example vagrant/ansible setup for rapid Ruby on Rails development on Windows. It provisions a Ubuntu VM and necessary packages as well as providing guidance on file syncing.
- Ensure Hyper-V is Enabled
- Install Vagrant
- Install cwRsync
- Add the cwRsync bin folder to your PATH (default:
C:\Program Files (x86)\cwRsync\bin) - Run the following command:
mklink /j C:\c C:\
- Clone this repo into:
C:\rails\rails-client\ - Create a new Rails app (or put your existing project):
C:\rails\dev\ - Open a command line as an Administrator and run
vagrant upfromC:\rails\rails-client\ - Once provisioned, run
vagrant rsync-autoto begin syncing folders
- Open a command line as an Administrator
- Run
vagrant up && vagrant rsync-auto - SSH into your machine: vagrant ssh. Default username/password is
vagrant/vagrant - Access your machine via:
railsclient.dev(eg:http://railsclientclient.dev:3000)
By default, rails-client will rsync ..\dev on the host to /railsclient/dev on the guest. This folder will be automatically updated every time a file is changed on the host. Any changes made on the guest will be overwritten.
It will also sync ..\dev to /railsclient/dev_persistent via SMB. This folder is a network mount so any changes made on the guest will show up on the host. It has some performance issues so in general I recommend only using that mount when you need to run rails generators and other commands that produce valuable output.
The .\ansible folder will be mounted to /ansible
The guest needs to connect to a network with DHCP. This is a limitation I'd like to fix in the near future. For your convenience, a HOSTS entry is created so you can access your guest by connecting to railsclient.dev
When the VM is started (via vagrant up) it will prompt you for a username/password. This should be your active Windows username/password. If you're joined to a domain use the format username@domain. If you're logged in via MSA, use the user account name it's associated with, not your MSA, and your MSAs password.
The default user credentials for the VM are set by Vagrant. The username and password are both vagrant by default.
See the issue tracker
Pull requests welcome!
- ConEmu - Mutliple tabs!
- SourceTree - Awesome Windows based git tool
- SublimeText - Speaks for itself