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!" """ } } }In job
requirements
, specify eitherworkerPool = 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!" """ } } }
When a job is started, the worker agent:
creates a temporary directory on the host machine,
downloads the project source code including the Automation script,
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 |
---|---|---|---|
| Ubuntu LTS | 2 vCPU 7800 MB | 1 Computation credit per minute |
| Ubuntu LTS | 4 vCPU 15600 MB | 2 Computation credit per minute |
| 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.