CI/CD — how deep the rabbit hole is?

Sebastian Opałczyński
14 min readOct 6, 2019
Sometimes there’s a bit of sand in the cogs.

Context

I start to ask myself a question recently: How hard can it be to copy functionality of Bitbucket pipelines, Circle CI or GitLab like tools? Of course, there are years behind development of each platform - and probably hundreds of developers behind - yet the scope of the single blog post entry is very limited, so I for sure need to do some simplifications here, but before we jump into basic requirements definitions - get back to the context for a second. In this post, I will try to mimic the basic features of modern CI/CD tools. I am particularly interested in the build process of simple python/django application, but I also will try to make the examples more general - which should work for most of the technology stacks.

CI/CD tools short overview

Each modern CI/CD has a couple of features, some of them are interesting in the context of this post — some not, let’s try to list them.

User and access management

This feature answer the question: who has access where? As this is a very important feature - it will be not important in the context of this article. Why? Well - more or less all user/access systems look similar - in the end, it doesn't matter if the main entity which we would like to limit access to is a project, repository…

--

--

Sebastian Opałczyński
Sebastian Opałczyński

Written by Sebastian Opałczyński

Software engineer, technology enthusiast, common sense lover, serial co-founder, and a father of three.

Responses (1)