Read First: Concepts

Read First: Concepts

Continuous Integration: an overview of tools and best practices


GitLab and SSH keys | GitLab GitLab integrates with the system-installed SSH daemon, designating a user (typically named git) through which all access requests are handled. Users connecting to the GitLab server over SSH are identified by their SSH key instead of their username. SSH client operations performed on the GitLab server wil be executed as this user. Although it is possible to modify the SSH configuration for this user to, e.g., provide a private SSH key to authenticate these requests by, this practice is not supported and is strongly discouraged as it presents significant security risks.


Connect GitLab with k8s

Connect GitLab with DigitalOcean’s Kubernetes - Jool Software Professionals - Medium Adding kubernetes cluster to our private gitlab server | DigitalOcean How to connect to Kubernetes from GitLab? | DigitalOcean

How to upgrade GitLab

Migrate to PostgreSQL

Support for MySQL was removed in GitLab 12.1. Existing users using GitLab with MySQL/MariaDB are advised to migrate to PostgreSQL before upgrading.

GitLab Runners: Configure


git - GitLab CI vs. Jenkins - Stack Overflow

Jenkins 2 and GitLab CI [Comparison] - inovex-Blog Most important difference: Jenkins 2 has full support for plugins, written in the widely-spread Java language. In contrast, GitLab CI currently does not come with plugin support.

CI/CD Tools Comparison: Jenkins, GitLab CI, Buildbot, Drone, and Concourse | DigitalOcean Drone CI is container-centric.

Drone has Auto-scaler for runners on Heztner but also has GitLab CI - Install for Hetzner Cloud | Drone GitHub - mawalu/hetzner-gitlab-runner: Autoscale gitlab ci runners on hetzner cloud gitlab hetzner autoscaler - Google Search


DevOps Tools Landscape | GitLab


CI servers: all will run some scripts on a server/Docker image.

They allow you to execute shell/bat scripts from a YAML file definition. Jenkins is much more pluggable, and comes with a UI. This can be either an advantage or disadvantage, depending on your needs.

Jenkins is easier to use Jenkins has a GUI

The default interaction model with Jenkins, historically, has been very web UI driven, requiring users to manually create jobs, then manually fill in the details through a web browser. With the introduction of the Pipeline plugin, users now can implement a project’s entire build/test/deploy pipeline in a Jenkinsfile and store that alongside their code


Continuous Integration Continuous Integration is the process of testing all changes made to your projects code, automatically.

This process will usually involve steps like:

  • Unit tests
  • Functional tests
  • Integration tests
  • Performance tests (have a look at Blackfire)
  • Quality checks
  • More generally, Continuous Integration aims to check automatically as many aspects of your code as possible to decrease the amount of review time and to avoid review mistakes

GitLab CI: Part 1 GitLab CI: part 2


Gitlab CI pipeline tutorial for beginners - YouTube How to create a CI/CD pipeline with Auto Deploy to Kubernetes using GitLab and Helm | GitLab GitLab CI/CD Examples | GitLab

date 01. Jan 0001 | modified 29. Dec 2023
filename: GitLab CI » Dump