Remote Development With JetBrains Gateway and Gitpod


Read this post in other languages:
Français, 日本語, 한국어, Deutsch, Português do Brasil, Español, 简体中文

Today, we are pleased to join our friends at Gitpod in announcing the integration between Gitpod and JetBrains Gateway, our remote development solution.

This means you can access source code hosted in an ephemeral development environment from your favorite JetBrains IDE, running in the cloud whenever you need it. All language processing happens in your Gitpod environment, while you work locally with a rich thin client to get the familiar JetBrains IDE experience.

Remote development with JetBrains Gateway

As a reminder, JetBrains Gateway is our solution for remote development. Announced in November 2021, it is a standalone app that will connect to a remote server via SSH, download and install an IDE as a backend service, and open a project hosted on the remote machine.

Gateway will then launch the JetBrains Client, a thin client that connects to the IDE backend service and presents your project as if you were running it locally. It’s based on the IntelliJ Platform, so you get a very rich, familiar, customizable interface, but all of the compiling, indexing, and language processing is happening on the powerful cloud machine. Learn more about recent improvements in Gateway here.

Gateway is responsible for connecting to the remote machine and making sure the IDE backend is installed and running, but it’s not responsible for managing the remote server. There are many ways to run your remote server: connect to a physical machine, host a VM in an internal network, run Docker images in the cloud, and so on. It would not be feasible for Gateway to handle all of these processes. Instead, server management is a separate concern. Indeed, we have our own orchestration platform as part of Space, our integrated team environment, that can manage dev environments for you, installing the IDE and “pre-warming” the environment – downloading all dependencies, building the project, and even making sure all indexes are complete before saving a snapshot.

Gitpod integration with Gateway

Today, we’re announcing our partnership with Gitpod to bring Gateway and the JetBrains IDEs to your ephemeral development environments. Gitpod is a well-known open-source orchestration and provisioning platform for automated developer environments.

Gitpod has created a plugin for Gateway that makes it easy to connect to a development environment based on a repository hosted in GitHub, GitLab, or Bitbucket. Install the plugin from the Gateway Welcome screen, and once you’ve connected your Gitpod account, the Gitpod integration lets you browse and connect to your existing workspaces. You can create a new workspace from a repository and choose which JetBrains IDE to install – IntelliJ IDEA, GoLand, PyCharm, and PhpStorm are currently supported, with more coming soon. Gitpod will then provision the remote server, and hand things over to Gateway to start the IDE backend and connect the Client. That’s it! You’re now ready to work with your favorite JetBrains IDE running in the cloud, or on premises.

The JetBrains Client user interface, running like a local IDE, connected to a Gitpod environment, showing a project view and an open source file

This gives you lots of benefits. For example, you can use a powerful cloud machine to work with your project, regardless of whether you are working on your office desktop or from home on an underpowered laptop. You get the security of the source code remaining on the remote machine, so there’s no need to worry about losing your laptop! And with Gitpod integration, you can create ephemeral development environments that are kept up to date with each commit, ready to get you working quicker.

Of course, don’t forget to visit the Gitpod preferences to set your favorite JetBrains IDE as your default desktop editor when opening a workspace!

The Gitpod preferences page for desktop editor, with IntelliJ IDEA selected as the default editor

We’d like to congratulate Gitpod on building a fantastic integration, and we look forward to working with them in the future to introduce new features. Read more on the Gitpod blog and hop over to their YouTube channel to watch a cool introductory video. Make sure you let us know how you get on!