The CD Pipeline Manifesto
11–20 of 51 posts
Re: The CD Pipeline Manifesto
#12Re: The CD Pipeline Manifesto
#13I'm thinking before we build a CI/CI pipeline, make sure there is a Makefile. Why have they gone out of style?
Re: The CD Pipeline Manifesto
#14I'm thinking before we build a CI/CI pipeline, make sure there is a Makefile. Why have they gone out of style?
Not sure but my guess is because they aren't a good fit for many languages. If you need a task runner then often languages will have a built in option or there are better alternatives than Make. If you need a build system then Make isn't a good fit for a lot of modern languages.
Re: The CD Pipeline Manifesto
#15Re: The CD Pipeline Manifesto
#16I'm thinking before we build a CI/CI pipeline, make sure there is a Makefile. Why have they gone out of style?
All the tools do their own dependency tracking already (unfortunately).
Re: The CD Pipeline Manifesto
#17I commend anyone who’s taking a hard look at our current CI/CD practices. Good work! Succinctly stating the problems is easier said than done. I believe https://dagger.io checks all these manifesto boxes and more. At least that’s where I’m focusing my attention.
I added it to a side project just to get familiar and it added quite a few sdk files and folders to my project, and lots of decorators. It also required Docker and yadda yadda yadda.
I just could not justify using it compared to just running some regular Typescript file with Bun (or, in a different project, `go run cmd/ci/main.go`)
Re: The CD Pipeline Manifesto
#18I'm thinking before we build a CI/CI pipeline, make sure there is a Makefile. Why have they gone out of style?
Re: The CD Pipeline Manifesto
#19I'm thinking before we build a CI/CI pipeline, make sure there is a Makefile. Why have they gone out of style?
If I want to build and test a golang app and push it to a container repository, what value does a makefile provide over go build && docker push? All the tools do their own dependency tracking already (unfortunately).
Re: The CD Pipeline Manifesto
#20> The Fix: Use a full modern programming language, with its existing testing frameworks and tooling.
I was reading the article and thinking myself "a lot of this is fixed if the pipeline is just a Python script." And really, if I was to start building a new CI/CD tool today the "user facing" portion would be a Python library that contains helper functions for interfacing with with the larger CI/CD system. Not because I like Python (I'd rather Ruby) but because it is ubiquitous and completely sufficient for describing a CI/CD pipeline.
I'm firmly of the opinion that once we start implementing "the power of real code: loops, conditionals, runtime logic, standard libraries, and more" in YAML then YAML was the wrong choice. I absolutely despise Ansible for the same reason and wish I could still write Chef cookbooks.