Working with Continuous Integration & Delivery (CI/CD) on GitLab

Photo by Safar Safarov on Unsplash


Nowadays, you have such tools to automate builds and deployments processes compared to previous technologies. For instance, when I previously worked on PHP, after iterating a feature, I just deploy the codes in the server through FTP. Even though the codes were hosted on an locally hosted version of GitLab, there was no such modern tools.

With the advent of Docker, Kubernetes and applications using multiple containers deployed on several servers, automating build and deployment is becoming a standard — as it can itself become a full time job, known as DevOps.

What are the pros of this workflow?

Moreover, in regards to JavaScript, by default, unless you are using a framework such as Angular or NestJS, there is not much order or structure. You can follow style guides such as AirBnB. Otherwise, anyone can pretty much code like they want. This sounds easier to begin with, but over the long haul, the project becomes far more complicated. I experienced this situations a few times when junior developers did not or had difficulty following the existing conventions as they were no official restrictions as such. But with CI/CD, you can enforce styles and lints for instance — that forces a specific type of development for the pipelines to succeed, that is, for the codes to be accepted for merge requests.

With such predictable approach, documenting the project becomes easier.

What are the cons?

In my experience, they take a few sprints or iterations to get right and for a small team working on.

Additionally, pipelines and merge requests take plenty of time and resources on the repository server, which can limit productivity.


Originally published at on August 8, 2019.



Senior Software Developer, Writer, Amateur Photographer, Reader

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store