JetBrains Space Help

Space Cloud Workers

Space cloud workers are virtual machines hosted in the Space cloud. Each machine runs the same worker agent that is used for self-hosted workers. One of the main reasons to use cloud workers is CI/CD tasks that require the whole access to the system and not possible in Docker containers. For example, running Docker and Docker Compose without any limitations.

How does it work

  • Space cloud workers use the same worker agent as self-hosted workers.

  • To run a job on a cloud worker, you should use a host block. To route the job to a Space cloud worker, use one of the following:

    • Set the Default worker pool parameter to Space Automation Cloud. In this case, you can use the host step type without any additional configuration.

      job("Hello from cloud worker") { // the job will run in a default // regular ubuntu lts instance host("Run echo") { shellScript { content = """ echo "Hello World!" """ } } }

      Learn more

    • In job requirements, specify either workerPool = WorkerPools.SPACE_CLOUD or a particular cloud worker instance, e.g. workerType = WorkerTypes.SPACE_CLOUD_UBUNTU_LTS_REGULAR. In this case, the Default worker pool parameter is ignored.

      job("Hello from cloud worker") { // the job will run in a default // regular ubuntu lts instance requirements { workerPool = WorkerPools.SPACE_CLOUD // not necessary if workerType is specified // workerType = WorkerTypes.SPACE_CLOUD_UBUNTU_LTS_REGULAR } host("Run echo") { shellScript { content = """ echo "Hello World!" """ } } }

      Learn more

  • When a job is started, the worker agent:

    1. creates a temporary directory on the host machine,

    2. downloads the project source code including the Automation script,

    3. and runs the job.

    Once the job is finished, the host machine is deleted.

  • Cloud workers are billed for each minute of work based on the worker instance type. Learn more

Cloud worker instances

To select a particular cloud instance in a job, use the workerType parameter inside job's requirements. Currently, you can use the following cloud worker instances:

workerType

OS

Resources

Billing

WorkerTypes.SPACE_CLOUD_UBUNTU_LTS_REGULAR or "space-cloud.ubuntu-lts.regular"

Ubuntu LTS

2 vCPU

7800 MB

1 Computation credit per minute

WorkerTypes.SPACE_CLOUD_UBUNTU_LTS_LARGE or "space-cloud.ubuntu-lts.large"

Ubuntu LTS

4 vCPU

15600 MB

2 Computation credit per minute

WorkerTypes.SPACE_CLOUD_UBUNTU_LTS_XLARGE or "space-cloud.ubuntu-lts.xlarge"

Ubuntu LTS

8 vCPU

31200 MB

4 Computation credit per minute

Operating systems and software

Currently, only Ubuntu LTS is supported.

Preinstalled software:

  • openssh - 8.2p1-4ubuntu0.3

  • curl - 7.68.0-1ubuntu2.7

  • git - 2.25.1-1ubuntu3.2

  • java openjdk-11-jdk-headless

  • docker - 20.10.7~3-0~ubuntu-focal

  • docker-compose - 1.29.2

To install additional software, use apt get right inside an Automation job.

Last modified: 15 December 2023