Repolode
ovh

ovh/cds

Self-hosted CI/CD and DevOps automation platform in Go, built around workflows chained from pipelines, jobs and triggers.

Open-source alternative to:JenkinsGitLab CI

Stars
4,846
Forks
457
Open issues
165
Last commit
5 days ago

What is it?

CDS (Continuous Delivery Service) is a self-hosted continuous integration and delivery platform written in Go. Its core idea is the workflow: pipelines are chained with triggers, joins and forks, and each pipeline is made of sequential stages containing concurrent jobs. Workflows can be defined in the web UI or as YAML files stored in Git, and they can be shared across teams through workflow templates.

Jobs run on workers that are launched on demand by hatcheries, which support Kubernetes, OpenStack, Docker Swarm, vSphere and local processes. Jobs can start service containers such as databases or caches on a private network, and the platform integrates with GitHub, GitLab and Bitbucket Server to report build status back to commits. Triggers include Git pushes, schedules, webhooks and Kafka or RabbitMQ events.

CDS offers a command-line tool, cdsctl, that covers the same operations as the UI, along with a REST API and a Go SDK. Project-level permissions, multi-tenant project isolation and Prometheus-compatible metrics are included. Application state is stored in the database, so the API servers can be run behind a load balancer and upgraded without stopping workers.

Key features

  • 01Chain multiple pipelines into workflows with triggers, joins and forks
  • 02Define workflows through the web UI or as YAML files stored in Git
  • 03Run ephemeral service containers such as databases alongside a job
  • 04Auto-scale workers on Kubernetes, OpenStack, Docker Swarm, vSphere or local hosts
  • 05Integrate with GitHub, GitLab and Bitbucket Server for build status reporting
  • 06Manage everything from the cdsctl command line, the REST API or the Go SDK

Use cases

  • Running CI/CD for many microservices from a single shared instance
  • Standardizing build and deployment practices with shared workflow templates
  • Running integration tests against real databases and caches spun up per job
  • Deploying to staging and production with restricted production access

Quick start

  1. 1

    Open the Ready To Run tutorials for a Docker Compose setup

  2. 2

    Or download the official release from the releases page

Things to know

  • The README states the project is under active development.
  • Self-hosting requires setting up a database and CDS components, so it takes some effort.

In collections

Topics

FAQ

What is cds?
Self-hosted CI/CD and DevOps automation platform in Go, built around workflows chained from pipelines, jobs and triggers. CDS (Continuous Delivery Service) is a self-hosted continuous integration and delivery platform written in Go. Its core idea is the workflow: pipelines are chained with triggers, joins and forks, and each pipeline is made of sequential stages containing concurrent jobs. Workflows can be defined in the web UI or as YAML files stored in Git, and they can be shared across teams through workflow templates.
Is cds free to use? What license does it have?
cds is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
Is cds still maintained?
Actively maintained. The last commit to cds was on Nov 2, 2026.
What can I use cds for?
Running CI/CD for many microservices from a single shared instance Standardizing build and deployment practices with shared workflow templates Running integration tests against real databases and caches spun up per job Deploying to staging and production with restricted production access
How do I install cds?
Open the Ready To Run tutorials for a Docker Compose setup Or download the official release from the releases page
Where can I get cds?
The source code and installation instructions are on GitHub: https://github.com/ovh/cds

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects