Dagger Cloud in Action: Going 100% Faster, Spending 75% Less at Airbyte
Read more

Dagger Engine

80% Faster Build Times

Try Dagger Engine
dagger engine schema

Powerful, programmable CI/CD engine that runs your pipelines in
containers — pre-push on your local machine and/or post-push in CI

No More YAML Soup

Replace complex CI with a programmable platform

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.

No More YAML Soup

Locally and in CI

locally and in CI

Eliminate Push & Pray

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.

Cached for Speed

75% Lower Costs, 2-5x Performance Boost!

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.

Cached for speed

Multi-Language

Dagger Cloud own compute

Pipelines in the same language as your app

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.

FAQ

What is Dagger Engine?The Dagger Engine is a powerful, programmable CI/CD engine that runs your pipelines in containers — pre-push on your local machine and/or post-push in your CI. The Dagger Engine is a critical part of the Dagger Platform, which also includes Dagger Cloud and the Dagger SDKs.
What is the Dagger Platform?We're building the devops operating system, an integrated platform to orchestrate the delivery of applications to the cloud from start to finish. The Dagger Platform includes the Dagger Engine, Dagger Cloud, and the Dagger SDKs. Soon we will deliver the capability to publish and leverage prebuilt modules to further accelerate the adoption of Dagger across an organization’s pipelines.
What is Dagger CloudDagger Cloud complements the Dagger Engine with a production-grade control plane. Together, the Dagger Engine and Dagger Cloud form the Dagger Platform. Features of Dagger Cloud include pipeline visualization, operational insights, and distributed caching.
What is the Daggerverse?The Daggerverse (currently experimental) is our hub for Dagger Modules. You can find modules built by the Dagger team or the broader community, or add your own.
You can check it out here:
What are Dagger Modules?Dagger Modules allow you to publish and/or leverage prebuilt modules to further accelerate the adoption of Dagger across an organization’s pipelines. By leveraging a module an app team can Daggerize one of their pipelines far more quickly than if they had started from scratch with an SDK.
What CIs will Dagger Engine work with?The Dagger Engine can integrate seamlessly with practically any CI, there is no limit to the type and number of CI providers. Users report successfully leveraging Dagger with: GitLab, CircleCI, GitHub Actions, Jenkins, Tekton and many more.
What are Dagger’s caching features?Dagger is able to cache:
  • Operations, such as copying files or directories to a container, running tests, compiling code, etc.
  • Volumes, such as data caches or package manager caches
Operations are automatically cached every time a Dagger pipeline runs. Cache volumes must be explicitly defined and used in your Dagger pipeline code. Dagger Cloud provides distributed caching.
What is Distributed Caching?One of Dagger’s superpowers is that it caches everything. On a single machine (like a laptop or long-running server) caching just works, because the same Dagger Engine writing to the cache is also reading from it. But in a multi-machine configuration (like an elastic CI cluster) things get more complicated because all machines are continuously producing and consuming large amounts of cache data. How do we get the right cache data to the right machine at the right time, without wasting compute, networking, or storage resources?

This is a complex problem which requires a distributed caching service, to orchestrate the movement of data between all machines in the cluster, and a centralized storage service. Because Dagger Cloud receives telemetry from all Dagger Engines, it can model the state of the cluster and make optimal caching decisions. The more telemetry data it receives, the smarter it becomes.
What language SDKs are available for Dagger?​We currently offer a SDK, a and a . Waiting for your favorite language to be supported? Join us on Discord and let us know.

Get involved with the community! 🚀

Join the conversation on Discord & GitHub, and help shape the evolution of Dagger.

community