> ## Documentation Index
> Fetch the complete documentation index at: https://docs.weaveos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Track deployments, pipeline health, and delivery performance with DORA metrics

Weave integrates with CI/CD platforms to track deployments, measure reliability, and compute DORA (DevOps Research and Assessment) metrics.

## Supported platforms

<CardGroup cols={2}>
  <Card title="GitHub Actions" icon="github" href="/ci-cd/github-actions">
    Track workflows and deployments
  </Card>

  <Card title="Jenkins" icon="jenkins" href="/ci-cd/jenkins">
    Track builds and deployments
  </Card>

  <Card title="Argo CD" icon="git-branch" href="/ci-cd/argocd">
    Track GitOps deployments
  </Card>

  <Card title="CircleCI">
    Track workflows and deployments
  </Card>

  <Card title="Azure Pipelines" icon="microsoft" href="/code-platforms/azure-devops">
    Track builds and classic releases
  </Card>

  <Card title="GitLab CI/CD" icon="gitlab" href="/code-platforms/gitlab">
    Built-in with GitLab integration
  </Card>
</CardGroup>

## 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

<Note>
  Weave does not ingest test reports, so test pass rates and flaky tests are not tracked.
</Note>

## 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](https://dora.dev/research/2024/dora-report/) elite benchmark: on demand, multiple deploys per day
* See: [CI deploy frequency](/metrics/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](/metrics/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](/metrics/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](/metrics/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:

1. **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.
2. **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, `main` or `master`) 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:

| Platform | Best for | Integration method |
| - | - | - |
| **GitHub Actions** | GitHub repositories | Automatic with GitHub integration |
| **GitLab CI/CD** | GitLab repositories | Automatic with GitLab integration |
| **CircleCI** | Cloud-based CI/CD | API token |
| **Jenkins** | Self-hosted CI/CD | Webhook or API integration |
| **Azure Pipelines** | Azure DevOps Services or Server | OAuth (Services) or PAT (Server) |
| **Argo CD** | GitOps deployments | API polling or webhook |

## Prerequisites

To track deployments, you need:

1. **Code platform connected:** GitHub, GitLab, or Bitbucket
2. **CI/CD configured:** Active pipelines deploying code
3. **Production environment:** Clearly marked production deployments
4. **Commit tracking:** Deployments must track which commits are deployed

## Getting started

<Steps>
  <Step title="Connect code platform">
    Ensure your Git platform (GitHub, GitLab, Bitbucket) is connected first
  </Step>

  <Step title="Connect CI/CD platform">
    Follow the integration guide for your CI/CD tool
  </Step>

  <Step title="Configure production environment">
    Mark which environments/workflows are production
  </Step>

  <Step title="Verify deployment tracking">
    Deploy once and check that Weave detects it
  </Step>

  <Step title="View DORA metrics">
    Access deployment metrics in Overview and Reports, or pull them from [`GET /metrics`](/api-reference/metrics/get-metrics)
  </Step>
</Steps>

## Troubleshooting

<AccordionGroup>
  <Accordion icon="magnifying-glass" title="Deployments not being detected">
    If deployments aren't showing up:

    1. Check the workflow's classification in **Organization settings → Repositories → Production deployments**
    2. Check that workflows are deploying from tracked branches
    3. Ensure commit information is included in deployment data
    4. Review production environment configuration in settings
  </Accordion>

  <Accordion icon="chart-line" title="Incorrect DORA metrics">
    If metrics seem wrong:

    1. Verify only production deployments are being counted
    2. Check that staging/preview deployments are excluded
    3. Ensure deployment timestamps are accurate
    4. Remember that cancelled and skipped runs count as deployment attempts, so they lower the success rate
  </Accordion>

  <Accordion icon="link" title="PRs not linked to deployments">
    If deploy lead time is missing:

    1. Verify CI/CD platform reports commit SHAs
    2. Check that deployed branches are tracked
    3. Ensure PRs are merged (not rebased without merge commit)
    4. Review commit tracking configuration
  </Accordion>
</AccordionGroup>

## Data privacy

Weave tracks only CI/CD metadata:

* Pipeline/workflow execution times
* Job success/failure status
* Deployment timestamps and environments
* Commit references (SHAs)

**We never store:**

* 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 `main` to 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

<Note>
  DORA metrics are most valuable when tracked consistently over time. Focus on trends rather than absolute numbers.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.