JetBrains Space Help

Run Environment

Automation can run steps in the following environments:

EnvironmentDescriptionOSResources
Containers in the Space cloud

Docker containers running in the Space cloud infrastructure. Learn more

Linux only

Default: 2 vCPU and 7800 MB RAM.

Max: 4 vCPU and 15600 MB RAM.

Learn more

External workers (Beta)

Self-hosted hardware or virtual machines. Learn more

Linux, macOS, WindowsAll available resources of the host machine
Containers in external workers (Beta)

Docker containers running on self-hosted hardware or virtual machines. Learn more

Linux only

All resources allocated to the container on the host machine
Hosted workers

Not yet available

Hardware or virtual machines hosted in the Space cloud infrastructure.

Functions

Not yet available

Serverless functions running in the Space cloud infrastructure.

Selecting preferred run environment

Space Automation lets you choose the preferred environment to run jobs: the Space Automation cloud or your own hardware – external workers. Where a job will run depends on:

  • The type of job's steps: container or host.

  • Step requirements.

  • The value of the Default resource to run jobs parameter in Administration | Automation: Space Automation Cloud or Automation Workers.

    Default resource to run jobs

The following table summarizes the possible combinations:

JobWhere will it run
job("Example") { container(image = "openjdk:11") { // ... } }

If Default resource to run jobs is set to:

  • Space Automation Cloud: The job will run in the Space cloud.

  • Automation Workers: Space will try to find a suitable external worker (in this example, the worker must have Docker and Docker Compose) and run the job on the worker. If the worker is not found, the job will run in the Space cloud.

job("Example") { container(image = "openjdk:11") { // ... requirements { workerTags("Pool 1") } } }

Regardless of Default resource to run jobs, Space will try to find a suitable external worker (in this example, the worker must have Docker and Docker Compose, and marked with the Pool 1 tag) and run the job on the worker. If the worker is not found, the job will not run.

job("Example") { container(image = "openjdk:11") { // ... } host { // ... } }
Regardless of Default resource to run jobs, Space will try to find a suitable external worker (in this example, the worker must have Docker and Docker Compose) and run the job on the worker. If the worker is not found, the job will not run.
job("Example") { host { // ... } }
Regardless of Default resource to run jobs, Space will try to find a suitable external worker (in this example, this could be any worker) and run the job on the worker. If the worker is not found, the job will not run.

Selecting preferred run environment in a project

The Default resource to run jobs parameter is available not only on the organization level but also on a project level. The project-level parameter has priority over the organization-level one.

To change 'Default resource to run jobs' for a project

  1. Open the project and then open the Jobs page.

  2. Click Settings.

  3. Set the Default resource to run jobs parameter: Space Automation Cloud or Automation Workers.

Last modified: 24 August 2021