GoCD is an open source, self-hosted CI/CD server for modelling multi-stage delivery pipelines, with a value stream map that traces each change to production.
GoCD helps a release team follow each commit through build, test and deploy, and spot inefficiencies along the way. Work is modelled as pipelines made of stages and jobs, and one pipeline can feed the next. The value stream map shows that entire path to production in a single view. GoCD is a community project maintained by volunteers and sponsored by Thoughtworks Inc. Config repositories keep pipeline definitions in YAML or JSON under version control, and pipeline templates package a shared workflow with parameters. A Timer Trigger schedules runs from a cron expression, and manual approvals between stages can be limited to named users. Environments group pipelines with the agents that run them, on the team's own machines or as elastic agents in a data center or the cloud. Jobs run in parallel, and one job can spawn several instances or run on every agent. Artifacts uploaded after each job are fetched by later stages, while the stage duration chart tracks passed and failed runs over time. GoCD suits platform and release engineers who model complex, multi-stage delivery workflows. Teams that must keep build infrastructure in house install the server on Linux, Windows, macOS or Docker. Release managers who must show what is deployed where find every deployment on each stage's details page. GoCD is open source software under the Apache License 2.0, which a team downloads, installs and operates itself. Help comes from the community in the GoCD Google group and GitHub Discussions. Teams run GoCD for continuous delivery with fan-in and fan-out between pipelines, from a build through test stages to deployment. Pipelines deploy to cloud environments such as Kubernetes, Docker and AWS. Other tools connect through curated plugins and the plugin API, which the project designs to stay non-breaking across upgrades. When a release stalls, the value stream map shows which stage holds the commit and which jobs ran before it.
Pricing
-
GoCD open source
Free
- Free to download and self-host under the Apache License 2.0
- Server installs on Linux, Windows, macOS, Docker or from a zip
- Value stream map, plugin architecture and every feature included
- No paid edition, no hosted tier and no add-ons
- No commercial or enterprise support offering since January 2021
Features
- Included: Pipeline as code in the repository
- Not included: Pipeline triggers on push and pull request
- Included: Parallel jobs and matrix builds
- Not included: Dependency caching between pipeline runs
- Included: Self-hosted runners
- Not included: Hosted macOS, Windows and Linux runners
- Included: Scheduled pipelines
- Included: Manual approval gates before deploy
- Included: Protected deployment environments
- Not included: Masked secrets for pipeline jobs
- Not included: OIDC cloud credentials for jobs
- Included: Reusable pipeline templates
- Not included: Test reports with flaky test detection
- Included: Artifact passing between jobs
- Included: Pipeline duration and success analytics
- Not included: Merge queue
- Not included: Free monthly build minutes
- Included: Self-managed CI server edition
Additional Features
- Value stream map
- Pipelines, stages and jobs
- Config repositories in YAML or JSON
- Pipeline templates with parameters
- Timer Trigger with cron expressions
- Manual approvals between stages
- Approval authorization by user
- Environments grouping pipelines and agents
Best for
- Platform and release engineers modelling complex multi-stage workflows
- Teams that must keep CI/CD on their own servers
- Release managers tracing a commit to each environment
- Teams deploying to Kubernetes, Docker or AWS
- Organisations reusing one workflow across many pipelines
- Teams that can run without a vendor support contract
- Self-hosting teams, not those wanting hosted build minutes
Use cases
- Continuous delivery with fan-in and fan-out pipelines
- Deploying to Kubernetes, Docker and AWS
- Keeping pipeline definitions under version control
- Holding a production deploy for a named approver
- Running nightly builds on a cron timer
- Passing build artifacts from build to deploy stages
- Spotting slow stages with the duration chart
- Seeing which build is deployed to each environment
- Spreading one job across many agents
- Running build agents in a data center or the cloud
Screenshots & Videos
Explore GoCD in action
User Reviews
Compare with Similar Software
Click to compare side by side with GoCD