Supported platforms
GitHub Actions
Track workflows and deployments
Jenkins
Track builds and deployments
Argo CD
Track GitOps deployments
CircleCI
Track workflows and deployments
Azure Pipelines
Track builds and classic releases
GitLab CI/CD
Built-in with GitLab integration
What’s tracked from CI/CD platforms
All CI/CD integrations track:Pipeline execution
- Workflow/pipeline runs: All build and deployment executions
- Job status: Success, failure, timeout, cancelled
- Execution time: Build and deployment duration
- Trigger information: Manual, automatic, scheduled
Deployment tracking
- Production deployments: Deployments to production environments
- Deployment frequency: How often you deploy
- Deployment success rate: Reliability of deployments
- Failed deployments: Failed production runs and time to recovery
Build health
- Build failures: Pipeline failure rates and trends
Weave does not ingest test reports, so test pass rates and flaky tests are not tracked.
DORA metrics enabled
CI/CD integrations enable the four key DORA metrics:Deployment frequency
How often you deploy to production- Measures deployment cadence
- DORA 2024 elite benchmark: on demand, multiple deploys per day
- See: CI deploy frequency
Lead time for changes
Time from PR merge to production deployment- Measures development pipeline efficiency
- DORA 2024 elite benchmark: less than one day
- See: PR deploy lead time
Change failure rate
Percentage of deployments that fail- Measures deployment reliability
- DORA 2024 elite benchmark: 5%
- See: CI deploy success rate
Time to restore service
How quickly you recover from failed deployments- Measures incident response
- DORA 2024 elite benchmark: less than one hour
- See: CI deploy MTTR
Additional metrics
Beyond DORA metrics, CI/CD integrations enable:- Build duration trends: Identify slow builds
- Pipeline efficiency: Optimize CI/CD performance
Deployment detection
Weave classifies each workflow or pipeline as a production deployment or not:- Automatic classification: Weave predicts whether each workflow deploys to production, based mainly on its name and the branches it runs on. Deployment environment names, when the platform reports them, only confirm the prediction.
- Your review: You can change the classification for each workflow in Organization settings → Repositories → Production deployments.
GitLab CI/CD
GitLab pipelines are tracked for each project you enable, and each pipeline is identified by its name (workflow:name, or default when unset). Weave classifies each pipeline name as production or not, and you can review and change the classification in Organization settings → Repositories → Production deployments. Pipeline names that include per-run values such as commit SHAs, merge request numbers (!123), or release versions are grouped into one pipeline, so Deploy 19d97d95 and Deploy 0072ced9 are classified together as Deploy <sha>. Tag-triggered pipelines are classified separately from branch and merge request pipelines.
Alternatively, set a production tag regex for a project. When a project has a regex, only tag-triggered pipelines whose tag matches it count as production deployments, and the pipeline classification is ignored for that project.
Weave does not read GitLab environments or the GitLab deployments API, and it does not inspect GitLab job names.
GitLab pipelines have two additional options in Production deployments:
- Production tags: Count only pipelines triggered by a tag matching a project-specific regular expression
- Default branch deployments: Turn on Count pipelines on each project’s default branch as production deploys when every pipeline on a project’s default branch (for example,
mainormaster) deploys to production. This applies to every GitLab project whose pipelines Weave has synced, in addition to production tags and pipeline settings. Turning off CI sync for a project stops new pipelines from syncing but doesn’t remove its already-synced default-branch deploys. Merge request, tag, and scheduled pipelines are never counted by this rule. Failed default-branch pipelines count toward deployment frequency and change failure rate, while deploy lead time uses the first successful one.
Multiple CI/CD platforms
You can connect multiple CI/CD platforms:- Different platforms: Use GitHub Actions for some repos, Jenkins for others
- Hybrid setups: Build in CircleCI, deploy with custom scripts
- Unified metrics: All deployment data aggregates into DORA metrics
Choosing a platform
Choose based on where you run CI/CD:Prerequisites
To track deployments, you need:- Code platform connected: GitHub, GitLab, or Bitbucket
- CI/CD configured: Active pipelines deploying code
- Production environment: Clearly marked production deployments
- Commit tracking: Deployments must track which commits are deployed
Getting started
1
Connect code platform
Ensure your Git platform (GitHub, GitLab, Bitbucket) is connected first
2
Connect CI/CD platform
Follow the integration guide for your CI/CD tool
3
Configure production environment
Mark which environments/workflows are production
4
Verify deployment tracking
Deploy once and check that Weave detects it
5
View DORA metrics
Access deployment metrics in Overview and Reports, or pull them from
GET /metricsTroubleshooting
Deployments not being detected
Deployments not being detected
If deployments aren’t showing up:
- Check the workflow’s classification in Organization settings → Repositories → Production deployments
- Check that workflows are deploying from tracked branches
- Ensure commit information is included in deployment data
- Review production environment configuration in settings
Incorrect DORA metrics
Incorrect DORA metrics
If metrics seem wrong:
- Verify only production deployments are being counted
- Check that staging/preview deployments are excluded
- Ensure deployment timestamps are accurate
- Remember that cancelled and skipped runs count as deployment attempts, so they lower the success rate
PRs not linked to deployments
PRs not linked to deployments
If deploy lead time is missing:
- Verify CI/CD platform reports commit SHAs
- Check that deployed branches are tracked
- Ensure PRs are merged (not rebased without merge commit)
- Review commit tracking configuration
Data privacy
Weave tracks only CI/CD metadata:- Pipeline/workflow execution times
- Job success/failure status
- Deployment timestamps and environments
- Commit references (SHAs)
- Build logs or console output
- Environment variables or secrets
- Application code or artifacts
- Deployment credentials
Best practices
1. Clear workflow naming
Weave classifies workflows mainly by name and branch, so name production deploy workflows plainly:- ✅
Deploy production,release-prod - ❌
ci,workflow-2,main
2. Trunk-based development
Deploy from a single main branch for accurate lead time tracking:- Merge PRs to
main - Deploy
mainto production - Avoid long-lived release branches
3. Atomic deployments
Each deployment should represent a discrete set of changes:- Deploy one PR or a small batch
- Avoid mixing many unrelated changes
- Enable clear failure attribution
4. Fast recovery
Redeploy or roll back through the same workflow after a failure:- Weave measures recovery until the next successful run of that workflow, so a quick fix-forward or rollback reduces MTTR
- The failed run still counts against the success rate
DORA metrics are most valuable when tracked consistently over time. Focus on trends rather than absolute numbers.
