How hard can it be to build a CI/CD system?
That question stuck with me long enough that I actually started building one. Not because someone asked me to. Not because I spotted a market gap. Just because the question wouldn't go away.
The trigger was Concourse CI. I've been using it for a while and what I love about it is the resource abstraction, an interface that anything external has to follow. Check for new versions, pull them, push back. As a Go developer this kind of clean interface resonates with me. Everything in the pipeline is just something that implements that contract.
But the operational overhead is significant. And I needed CI for my own side projects anyway, games and open source tools that require custom environments GitHub Actions can't provide. So I started building.
What I wanted
A single binary that could also scale horizontally when needed. Start with nothing, grow when you need to.
You start like this:
./pikoci server \
--db-system mem \
--
Discussion
Take the lead—comment now
Lead the way—your insights can inspire others.