Replies: 2 comments 1 reply
-
Thanks for the question! It's possible to use Dagger the way you describe (one big CI job that just runs Dagger), but it's rare that you'd start using Dagger that way. More commonly, you have a 80/20 situation in your CI:
In that situation, you would use Dagger to surgically improve the 20% of your pipeline that is causing problem. The automatic caching helps with performance; the fact that it's real code helps with debugging and testing; running locally is a first-class citizen; etc. The result is that 20% of your Concourse (or Drone, or Jenkins, or CircleCI) configuration is now just "run Dagger". You can either roll up your "daggerized" CI tasks into one big task; or keep them separate. That is up to you. See #4558 for some discussion of the best practices involved. There is another way that teams sometimes adopt Dagger: as part of a planned CI migration, say from Jenkins to AWS Codebuild (example picked at random). In that scenario, you're going to rewrite your entire pipeline logic anyway, so you might as well write it in such a way that you don't go through the same pain at the next migration. By targeting the Dagger API you get the "write once, run anywhere" insurance policy, on top of the 80/20 advantages I mentioned above. Lastly, I must mention that @vito, the creator of Concourse CI, is now a core developer of Dagger, so I'm sure he'll have a perspective to share. :) |
Beta Was this translation helpful? Give feedback.
-
Thanks, the answer, the post and the issue linked were an interesting read. I understand the appeal of dagger if you need to limit friction with the underlying CI/CD engine but what would dagger final form be ? is a dedicated "engine" something planned or is it forever designed to be a "parasite" (I am not saying it in a negative way) for existing CI/CD engines ? As a side note, one of the great feature of concourse is its dashboard and ui allowing complex pipelines to be easily displayed and monitored (what a red square means is almost universal xD) and on that I don't think it has challengers. |
Beta Was this translation helpful? Give feedback.
-
I (re)discovered dagger recently and while I like the general idea I am still not clear where and why I would ever want to use it, I would love some feedback on how you are using it.
We are currently using concourse as CI/CD engine which works very well for us, my problem is that I fail to see how dagger can integrate in a useful way with a ci setup unless you don't really use your CI/CD engine, am I wrong to consider that if someone would use it with concourse for example he would end up with one task and in that concourse task the whole dagger pipeline would run ? If that's the case you circumvent many features of your CI.
I guess if you use a limited CI system that you hate (I know I hated drone when we used it) that might be a good reason.
I am not trying to dismiss the projet, as I said I like the idea, I am genuinely curious.
Beta Was this translation helpful? Give feedback.
All reactions