Search code examples
ruby-on-rails

Running a remote development environment in Rails


The company I'm working for currently has a Rails 3 application on a dedicated remote server. The current development environment is a local machine.

We are trying to put some infrastructure in place to hire some contractors to be able to do some development remotely. Obviously this won't work with our current development setup because it's local.

I was thinking that I could put the development and test code in separate subdomains i.e.

test.mydomain.com and dev.mydomain.com.

This is a small (but growing) project and we would not have more than one developer working on one or two changes on our system at any given time. We are starting out with smaller enhancements and working our way up to bigger ones.

My question is, what is the best way to deploy a development system that contractors would be able to access remotely and securely?


Solution

  • Normal practice would be for developers to still develop locally on their own systems, cloning the code using a version-control system (VCS) such as git. Then, you'd either 'pull' new code from a location they give you, or allow them to 'push' code to a location you give them. There might well be a 'staging' server set up, though, where the application is deployed as an additional check before deploying to the 'live' server; Rails lets you set up an arbitrary number of environments ('development', 'production', 'test' are the defaults, but more can be added), or you could use a deployment solution which ignores these settings and uses a different approach (such as Heroku).