Managing the development environment on virtual machines and remote hosts sometimes takes a lot of time and effort. This is why we've worked hard to let you add and set up a remote SDK. Then you can run, test and debug your remote app.

0. Prerequisites

1. Configure a Remote Host Access

Go to

{span:class=shortcut}Settings - Deployment{span}
and press
{span:class=shortcut}+{span}
to add a new remote server access configuration:

Set up connection settings:

Switch to the

{span:class=shortcut}Mappings{span}
tab and fill in a path to a remote app:

2. Choose a Remote SDK

Now you can choose a remote SDK for your local copy of an app. Go to

{span:class=shortcut}Settings - Ruby SDK and Gems{span}
and press
{span:class=shortcut}Add SDK...{span}
. Choose
{span:class=shortcut}New remote...{span}
option:

Import your settings from a deployment server you've created (you'll also need to move your server to application level using one of two possible options):

Note you can use vagrant config to import a remote host settings as well.

Make sure remote Ruby interpreter path is correct:

When adding an rvm-based remote interpreter, it is important to specify the gem set in the Ruby interpreter path:

<rvm root>/gems/<gem set>

Remote SDK is now configured:

3. Synchronize Your Changes

To make your changes synchronized automatically go to

{span:class=shortcut}Settings - Deployment - Options{span}
and set
{span:class=shortcut}Upload changed files automatically to the default server{span}
to
{span:class=shortcut}Always{span}
:

Please note, you can synchronize your files and folders manually or change the settings any time from

{span:class=shortcut}Tools - Deployment{span}
menu. To browse remote host folders and files with color highlighting for synchronized ones go to
{span:class=shortcut}Tools - Deployment - Browse Remote Host{span}
:

4. Work with a Remote Application

Now all the changes will be synchronized with a remote app. You can also run and debug your application:

Note you should use the same port number that is used on a remote host for running the app on a localhost.