Dagger lets you write CI/CD pipelines in real programming languages instead of YAML.
What You Get for Free
- Pipelines as code — write in Go, Python, TypeScript, or any language
- Runs anywhere — local machine, GitHub Actions, GitLab CI, CircleCI, Jenkins
- Container-native — every step runs in a container, fully reproducible
- Caching — automatic layer caching, 10x faster than traditional CI
-
Interactive debugging —
dagger call --interactivedrops into a shell - Dagger Cloud — free tier with pipeline visualization and caching
Quick Start
# Install
curl -fsSL https://dl.dagger.io/dagger/install.sh | sh
# Initialize a module
dagger init --sdk=python
# Write your pipeline in Python instead of YAML
# dagger/src/main.py:
import dagger
@dagger.function
async def build(src: dagger.Directory) -> dagger.Container:
return (
dagger.container()
.from_("node:20")
.with_directory("/app", src)
.with_workdir("/app")
.with_exec(["npm", "install"])
.with_exec(["npm", "test"])
)
# Run locally (same as CI!)
dagger call build --src=.
Why Developers Are Ditching YAML Pipelines
YAML CI configs are painful:
- No IDE support — no autocomplete, no type checking, no debugging
- Copy-paste reuse — no functions, no loops, no real abstractions
- Works in CI, fails locally — or vice versa
Dagger solves all of this. Write once, run anywhere — with your language's full power.
A DevOps engineer maintained 47 YAML pipeline files across 12 repos. After converting to Dagger with Go, they reduced it to 3 shared modules — and developers could finally debug CI failures locally instead of push-and-pray.
Need Custom Data Solutions?
I build production-grade scrapers and data pipelines for startups, agencies, and research teams.
Browse 88+ ready-made scrapers on Apify → — Reddit, HN, LinkedIn, Google, Amazon, and more.
Custom project? Email me: spinov001@gmail.com — fast turnaround, fair pricing.
Top comments (0)