One of the greatest benefits I believe of integrating Gitlab's CI/CD into your workload is code linting and building. This immediately eliminates the easy mistakes that developers make and wastes less people's time.
I'm working towards getting the build setup just right in one of the projects I'm currently working. However, in the meantime, Gitlab supports running it's CI/CD jobs under the
shell executor. I would like to go to the default Docker route in the future once I figure out all of the dependencies of the project I'm building.