CI/CD Jenkins | Gitlab | Travis-ci | …

Manatworkschnitzel
2 min readJun 24, 2020

CI / CD Tools can be found like sand at the ocean: https://landscape.cncf.io/ The Cloud Native Map show some of them: https://landscape.cncf.io/category=continuous-integration-delivery&format=card-mode&grouping=category

Before those graphical tools like the famous Jenkins, Gitlab or Travis was there a world. For java some use maven, ant or gradle, for the C++ World there is CMake for example. And as mentioning the general purpose tool make!

This image is owned by gradle.org can be found in: https://gradle.org/images/homepage/gradle-org-hero@2x.png

For embedded world one can use BitBake, buildroot or Bob https://github.com/BobBuildTool/bob and there is plenty more of command line tools.

Why mentioning command line tools !?
Yes they can be used in a CI / CD and it is a good apporach to use them. I mention them because often is the whole background about compiling binarys lost. First of all there is an artefact create, which can be stored somewhere like in (FTP, SFTP, NFS, webdav, smb-share, nexus, artifactory, own-/nextcloud, onedrive, dropbox, upload, …, and so on even in gitlab or docker registry).

Most of CI / CD Tools are used to build and deploy web-server or services in genral, like REST-API, websocket, apps, microservices what ever. But the truth is there is a lot of applications or software like pure binary executables ( tools, applications in general, game applications, industrial command and control application, firmware software, …, GUI based application for a single or multicore locally) and maybe more like operating systems images or packages for those.

CI / CD can be used to build and deploy Webservices. Yes. But they can also be used to build and store and maybe deploy binary application. Lots of people I talk even don’t know there are “normal” binary application which must be compiled “somehow” and stored. The deployment or update process can be something like an advertisment in a package update or message to update server with: “There is something new here. I have a new binary with version XX.YY.ZZ from this Date, with Features and Fixes” in protocol message language…

I don’t know that!?

This normal binary compiling and update system is also a major case which occur in the IT World. I write this to inform people that they have in mind: There is something more with CI/CD? Not only web-services are build and deployed !?!? Yes. There is more. Normal binary with no web-server abilities are also needs to get compiled and launched.

CI / CD Tools are wide spread in lots of different Teams.

--

--