Skip to content

Deployments

A Deployment in GuideMode represents a release of code to an environment. Deployments are synced from code hosting providers (GitHub, GitLab) and are central to DORA metrics like deployment frequency, change failure rate, and mean time to recovery.

Deployments in GuideMode:

  • Track releases across multiple environments
  • Monitor status through the deployment lifecycle
  • Link to PRs for end-to-end delivery tracking
  • Power DORA metrics for DevOps performance
  • Record history of status changes for incident analysis

Deployments target specific environments:

Diagram
Environment Description
production Live environment serving real users
staging Pre-production testing environment
development Development/integration testing
qa Quality assurance testing
preview Ephemeral/temporary environments (PR previews)
other Custom environments
Flag Description
isProduction Whether this is a production deployment (for DORA metrics)
isTransient Whether this is an ephemeral environment (excluded from some metrics)

Deployments progress through a defined status lifecycle:

Diagram
Status Description DORA Impact
pending Deployment triggered, not started
queued Waiting in deployment queue
in_progress Actively deploying
success Deployment completed successfully Counts for deployment frequency
failure Deployment failed Counts for change failure rate
error System error during deployment Counts for change failure rate
inactive Superseded by newer deployment
Field Type Description
environment enum Target environment
currentStatus enum Current deployment status
ref string Branch, tag, or SHA being deployed
sha string Git commit SHA
task string Deployment task (e.g., “deploy”, “rollback”)
description string Deployment description
url string URL to deployed environment
Field Description
provider Source provider (‘github’, ‘gitlab’, ‘custom’)
externalId Provider’s deployment ID
apiUrl API endpoint for deployment
Field Description
creatorId User who triggered deployment (GuideMode ID)
creatorExternalId Provider’s user ID
creatorUsername Username of creator

Every status change is recorded in the deployment status history:

Diagram
Field Description
status Status at this point in time
description Status message/description
targetUrl URL to the deployed environment
logUrl URL to deployment logs
createdAt When this status was recorded

This history enables:

  • MTTR calculation - Time from failure to success
  • Incident analysis - Understanding deployment failures
  • Retry tracking - Counting deployment attempts
Diagram Diagram

Deployments are linked to the PRs that introduced the code:

Diagram
Method Description
sha_match Deployment SHA matches PR merge commit
webhook Provider webhook provided the link
manual Manually linked

These links enable:

  • Full lead time - Issue → PR → Deployment
  • Change tracking - Which PRs are in production
  • Rollback analysis - What was deployed when

Deployments power three of the four DORA metrics:

How often you deploy to production:

Frequency = Production deployments / Time period
Elite High Medium Low
Multiple per day Daily to weekly Weekly to monthly Monthly or less

Percentage of deployments that fail:

Failure Rate = (failed deployments / total deployments) × 100
Elite High Medium Low
0-15% 16-30% 31-45% 46%+

Average time to recover from a failure:

MTTR = Average(success_time - failure_time)
Elite High Medium Low
< 1 hour < 1 day < 1 week > 1 week
Timestamp Description Used For
createdAt When deployment was triggered Deployment frequency
currentStatusUpdatedAt When status last changed Current state tracking
Timestamp Description Used For
firstFailureAt First failure status MTTR start
firstSuccessAt First success status MTTR end

The metadata field stores provider-specific deployment data:

{
"workflow_run_id": 123456,
"environment_url": "https://preview-123.example.com",
"deployment_payload": {
"version": "2.1.0",
"rollback_sha": "abc123"
}
}

The task field indicates the type of deployment:

Task Description
deploy Standard deployment (default)
deploy:migrations Deployment with database migrations
rollback Rollback to previous version