Screwdriver: Yahoo's Continuous Delivery Build System for Dynamic Infrastructure
yahooeng.tumblr.com
yahooeng.tumblr.com
Mods: Perhaps edit the title?
When I first read the title I thought "oh, Yahoo must have had some cool automatic system to burn CDs that is probably so old and pointless that they are opensourcing it now as part of their mothballing". I was fairly disappointed to see it's Yet Another CI Tool.
*Edit: sorry, my comment was intended as humour but was actually a bit negative
Joking aside, I did think CD was a Compact Disc, but that's probably because I grew up with CDs and still have them hanging around the house.
Then I thought it could be to do with changing directory for a split second.
I think it's just industry terminology for someone not in that exact space.
I'm 34 by the way.
You're welcome. ;).
I'd happily pay for a good managed CD build system capable of handling projects / products with multiple dependencies.
Right now I use CircleCI along with a bunch of scripts, and it works, but it's not great. One problem with existing CI tools that I've used is they only handle a single git repo, so extra automation has to be done ad-hoc. It's not terribly difficult, but it's tedious and it doesn't give you any kind of safety guarantees.
There's Snap CI, which is by ThoughtWorks (just as Go CD), and that's in the cloud. I don't know if they use the same code base, but it might be worth investigating if they can deal with multiple repos in a sensible way.
I've never missed simple shell scripts, builds triggered by commits, tailing logs so much. Being closer to the metal. Back then, I had no idea the obvious solution was called "continuous integration".
GoCD has a pretty dash board though. So I guess that's progress.
No it's not, because scripts are better to debug the problem when (invariably) all goes to shit.
- Plain jobs (disconnected dots) (Jenkins/Travis-CI/etc)
- Full-on graphs with value stream maps and arbitrary connections (GoCD/Concourse/etc)
- Isolated pipelines (disconnected matrices/lists of columns) (Snap-CI/GitLab CI/etc)
I've lamented for a long time that there was no "lightweight" self-hosted pipeline tool that makes full use of modern tech (lightweight API, separate UI, offload the actual build environment to containers) and does nothing more than linking the pipeline and gets out of the way. Most organizations just don't have the engineering skills to handle build graphs. And the alternative job-style ends up in a complete mess.
Screwdriver fills a real void. I'm not a fanboy by any chance, but I'm really thankful to Yahoo for opening up this void so that many will follow.
Btw, Jenkins 2 Pipelines are not even in the picture because are neither proper pipelines nor proper jobs. It has no resumable/pausable stages, and is just a glorified DSL/UI on top of a multi-job kind of model.
That glorified DSL is Apache Groovy. Its backers have been trying to distribute it by getting other JVM-based products to bundle it as a DSL, without worrying about how closely it really matches the product's functionality, such as specifying pause/resume in pipelines.
They should write up a comparison to GoCD, Teamcity, Concourse, Jenkins, Chef Automate, etc. It can be pretty hard to evaluate these things without losing a month.
Screwdrivers docs all seem to mention CD, not sure why you'd say that.
In my case, I've been using CircleCI (mostly good, but a few issues make it a non-starter), CodeFresh (awesome, but very new, still needs work), and the new Jenkins. Wanted to look at Concourse and a couple others, but just don't have the time to test drive them in any real capacity.
Increasingly I think us software devs need to share our battle-won knowledge instead of just trusting the marketing blurb on a project page. Much of what I do these days just amounts to making guesses for suitable tools/projects based on heuristics and gut feelings instead of actual experience.
Hopefully something like StackShare will gain in popularity, and we can start sharing our experiences more.
Now time to check out Screwdriver!
Good job to the team for building an open-source tool for CD!
There are a few bits: https://hub.docker.com/u/screwdrivercd/
Edit: I also read this as compact disk at first.
Is there anything I am missing?
(But maybe it's just a matter of perspective. I once knew a redheaded woman who'd replaced a specific subset of her body hair with a brightly colored flame tattoo, which against the very pale skin typical of redheads produced an effect both immediately striking, and quite memorable at what is now a considerable distance of time. Had she instead dyed that hair purple, perhaps I'd be more likely to see this matter in the same way you seem to.)