GCE
backend_type: gce. Connection: GCP. Status: beta.
Each execution is a Compute Engine VM. The startup path installs Docker with apt-get, so the boot image must be Debian/Ubuntu. Zone failover is first-class: an ordered zones list is walked when a zone is exhausted.
When to choose it
- GCP-resident CI that needs a VM (not Cloud Run).
- You need zone failover on
ZONE_RESOURCE_POOL_EXHAUSTED.
Choose Cloud Run for job-shaped serverless on GCP.
Connection
Required config
| Key | Type | Meaning |
|---|---|---|
project_id | string | GCP project that owns the VMs. |
zone | string | Primary zone (e.g. us-central1-a). Ignored when zones is set. |
machine_type | string | Machine type (e.g. e2-medium). |
vm_image | string | Boot disk image. Must be a Debian/Ubuntu family image. |
Example vm_image: projects/ubuntu-os-cloud/global/images/family/ubuntu-2204-lts.
Optional knobs
zones (ordered failover list — takes precedence over zone), container_image (required for GitHub/GitLab CI groups; agent groups can resolve the platform agent image), volume_size_gb (GCE default 10 GB is too small for Docker CI — set 30+), disk_type, capacity_type (ON_DEMAND / SPOT), vpc_network, subnetwork, service_account_email.
Execution control
Suffixed workflows: runner.execution-{stop,restart,sync,logs-sync}-gcp.
runner.* catalog before production CI.Azure VM
Runner group kind backend_type=azure_vm — one Azure Virtual Machine per execution (not a scale set)
Chat
Chat spaces for identity apps. Your end users sign in with their app identity, talk in channels, threads and DMs, and your Staff actors answer inside the same conversation. Every control-plane operation is a workflow
