Hacker News new | ask | show | jobs
by berkle4455 1221 days ago
CI has been such a productivity killer. You don’t need it. Stick with CD only and you can ship.
3 comments

Interesting, how do you define CI in that case? IIRC, CI was originally defined as integrating continuously (i.e. daily or more frequently) and CD is delivering said code continuously. How does CI hurt productivity and how do you do CD without CI?
I'm really interested in different points of view.

I guess you mean the kind of trunk based development? But still some sort of CI happens, maybe locally.

Never worked in a different way than using a local / remote CI pipeline, that's why I'm curious.

CI is a prerequisite for CD.
I've done smaller projects before where "CI" only consists of merging to trunk/main/master, while testing, linting, etc. is covered by code review and the honor system. I wouldn't advocate this for something business critical that a lot of developers collaborate on, but you can do CD with only trivial CI.
It’s literally not.
I'm tempted to just downvote you and move on with my life but I'm genuinely curious.

Given that it's meaningless to Deploy something without Integrating the changes, what do you _actually_ mean by "You don’t need [CI]. Stick with CD only."

Are you just talking about testing the changes? Help us out here.

What if people push unmerged feature branches, and then the automation just deploys the most recent one?

I'm not advocating this, just to be clear.

I guess you could just have an unchanging project redeploy itself every hour or so.
It might be required in that it's impossible to deliver continuously if changes are not integrated continuously, for some definition of "integrated".