I saw a big write up on using Dagger for CI no matter your git host and I was curious if there were any real benefits?
I haven't used Dagger but it looks like a fundamentally different design from traditional CI engines, so some people might have issues moving to it.
I recommend Drone.io or WoodpeckerCI for hosting your own CI. It's a very good design; very simple, easy to run, easy to use, integrates with most systems you'd want to, abstracts away components rather than tightly integrating them, and you don't need to be a programmer to use it. So basically the opposite of Dagger.
Yes, I use Dagger, it's much more than building containers
- Container based workflows are the same in CI and locally (you can run containers too), they become one-liners
- Remote caching out of the box without extra steps
- Multiple language SDKs, unlocks the DAG in BuildKit and containers, real reuse
- Obfuscates secrets from your logs and agents. I've built an agent environment on Dagger, which also includes forking and time travel)
tl;dr - Dagger gives you SDK access to BuildKit and container based DAGs for building or anything else.
v1-beta just released yesterday: https://dagger.io/blog/dagger-10-beta/
---
edit: they are replacing BuildKit (for good reasons) and that is already out https://dagger.io/changelog/theseus/
I like Dagger but it doesn't scale very well for larger workloads. Excellent for small/medium projects, though.