JetBrains Space Help

Configure Dev Environment

To provide the best possible experience, a dev environment must be pre-configured for your project. A configured environment includes all necessary tools and runtimes, IDE indexes, and other data required by the project, e.g., environment variables, project dependencies, and so on. As a result, a user can start working on their project right after a dev environment is created.

Dev environment configuration is defined using devfiles. This can be a single devfile.yaml or a set of *.devfile.yaml files in the .space directory of your project. Learn more about devfiles

A devfile lets you specify the following dev environment settings (all settings in the table below are optional, you can provide only the ones relevant to your project):

Basic

Configuration name

A configuration name is used to identify a configuration in the UI.

Run environment

Container image

The image must include the tooling and runtimes required by the project. You can use an image from Docker Hub (or other registries that doesn't require authentication), from a Space Packages registry, or even define a custom image using a Dockerfile file in the project repository.

If you skip this step, the created dev environments will use the default image.

Dev environment instance type

Dev environments come in three different types that differ by available compute resources.

Environment variables

You can specify environment variables that will be available in the dev environment.

IDE

Default IDE

You can specify a default IDE and a particular IDE version.

JVM options for IntelliJ-based IDEs

You can change the configuration of Java Virtual Machine (JVM) your IntelliJ-based IDE runs on.

Project root directory

For mono-repositories with multiple projects, you can specify a project root directory.

Warm-up

Warm-up configuration

A warm-up snapshot contains pre-built project data. By default, the snapshot contains only IDE indexes, but it can also contain additional project data like dependencies, build caches, and so on. You can automate creating a warm-up snapshot: Space can create it on schedule or on commit push.

If a snapshot is not available, Space will create dev environments without warm-up data.

Parameters and secrets

Parameters and secrets

A dev environment might require sensitive user or project data, e.g. credentials to an external service. Secrets and parameters are available in a dev environment as environment variables.

Last modified: 04 March 2024