Meditations on CI/CD and GitLab


I have been doing these CI/CD and GitLab workshops and today I am writing a book proposal. I could use some feedback. I have a bunch of thoughts on this area and then Iw will propose some titles. But first thoughts

– Gitlab does for dev ops what git did for code. Configuration as code is nothing new – or even config files in repos. I can build off other repos that have ansible configs or jenkins configs. But having all these configs in one file like gitlab that is automatically integrated into the platform is an leap forward. For example, I forked the conference software yakbak and the fork came complete with the gitlab-ci deployment template. I could have deployed in the same way or modified (which I did) to deploy on heroku. In the past, the most automagic you get is a build or install script.

– Modern development tools:
These are things that gitlab or CI/CD depend on: git, docker, I a unix based editor, orms, testing frameworks etc.
These are also things that are integrated as jobs into your pipelne – such as linting, security (sonarqube)

– Modern development philosophy
Why CI/CD, the movement away from cost reduction to time reduction (speed/lyotard). Metrics, ways of working (git branching, artifact creation).

– And finally GitLab CI/CD itself. This would be a section would walk through how to use GitLab CI/CD, jobs, pipelines, artifacts,

Title possibilities:
Modern Software Development with GitLab CI/CD
CI/CD from first principles to implementation: A GitLab Approach
Down the stack