A quick n' easy Vagrant/Ansible setup for a typical Ruby on Rails environment on Windows
Ruby Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ansible
shell
spec
.gitignore
.rspec
README.md
Rakefile
Vagrantfile

README.md

rails-client

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.

Pre-requisites

  1. Ensure Hyper-V is Enabled
  2. Install Vagrant
  3. Install cwRsync
  4. Add the cwRsync bin folder to your PATH (default: C:\Program Files (x86)\cwRsync\bin)
  5. Run the following command: mklink /j C:\c C:\

First Time Setup

  1. Clone this repo into: C:\rails\rails-client\
  2. Create a new Rails app (or put your existing project): C:\rails\dev\
  3. Open a command line as an Administrator and run vagrant up from C:\rails\rails-client\
  4. Once provisioned, run vagrant rsync-auto to begin syncing folders

Day-to-day Usage

  1. Open a command line as an Administrator
  2. Run vagrant up && vagrant rsync-auto
  3. SSH into your machine: vagrant ssh. Default username/password is vagrant/vagrant
  4. Access your machine via: railsclient.dev (eg: http://railsclientclient.dev:3000)

File Syncing

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

Network Access

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

Authentication

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.

Issues

See the issue tracker

Improvements

Pull requests welcome!

Recommended Tools