Dagger eliminates messy YAML and inconsistent shell scripts by turning your build/test/deploy workflows into reusable, programmable modules, letting your developers run them locally or on any CI provider. Dagger code is far easier to understand, maintain, and optimize.
Dagger automatically generates a DAG to run your pipeline steps concurrently to maximize pipeline speed and accuracy.
Dagger allows you to build/test/deploy workflows into reusable, programmable modules and lets your developers run them locally (for instant feedback) or on any CI provider (for maximum portability).
A daggerized pipeline run locally or in CI runs the exact same code. As a result, developers can test code locally, identify errors early, and have fewer surprises when pushing to remote repositories.
Caching accelerates each pipeline run significantly, often cutting run times by over 50%. It not only caches packages but also avoids unnecessary rebuilds and test reruns when nothing has changed, enabling developers to quickly return to coding.
The Dagger Engine caches artifacts and operations on a single machine, Dagger Cloud expands this capability, allowing multiple machines, including ephemeral runners, to intelligently share a distributed cache.
Working entirely in a programming language makes it easier to follow best practices for testing and packaging CI pipelines as code.
Because Dagger supports an ever-growing universe of programming languages (incl. Go, Python, JavaScript, and TypeScript) developers can build their pipelines in the language their app is coded in.
Join the conversation on Discord & GitHub, and help shape the evolution of Dagger.