Installationsprotokoll
System aktualisieren
sudo apt-get update
sudo apt-get upgrade
NTP installieren
sudo apt-get install ntp
Abhängigkeiten installieren
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
Docker GPG-Schlüssel hinzufügen
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Docker Repository hinzufügen
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Docker installieren
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Docker testen
sudo docker run hello-world
GitLab Runner für CI/CD installieren
GitLab Runner Repository hinzufügen
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
GitLab Runner aktualisieren und installieren
sudo apt-get update
sudo apt-get install gitlab-runner
Benutzer zur Docker-Gruppe hinzufügen
sudo usermod -aG docker gitlab-runner
GitLab Runner registrieren
sudo gitlab-runner register --url https://gitlab.rafisa.test --token glrt-***********
Docker-Images bereinigen
Cleanup Script erstellen
nano /home/gitlab-runner/docker_cleanup.sh
Cleanup Script
#!/bin/bash
# Warnung ausgeben
echo "WARNUNG: Dies wird ALLE Docker-Images auf diesem System entfernen."
# Alle Docker Images auflisten und deren IDs
IMAGE_IDS=$(docker images -q)
# Überprüfen, ob Image-IDs vorhanden sind
if [ -z "$IMAGE_IDS" ]; then
echo "Keine Docker-Images zum Entfernen gefunden."
else
# Alle gefundenen Images entfernen
echo "Entferne alle Docker-Images..."
docker rmi -f $IMAGE_IDS
echo "Alle Docker-Images wurden entfernt."
fi
Cleanup Script ausführbar machen
chmod +x /home/gitlab-runner/docker_cleanup.sh
Cleanup Script zu Crontab hinzufügen
crontab -e
Crontab Konfiguration
0 1 1 * * /home/gitlab-runner/docker_cleanup.sh >/dev/null 2>&1
Executor und Image konfigurieren
sudo nano /etc/gitlab-runner/config.toml
Konfiguration für GitLab Runner
concurrent = 5
[[runners]]
name = "docker-runner"
url = "https://gitlab.rafisa.test"
token = "glrt-***********"
executor = "docker"
[runners.docker]
tls_verify = false
image = "alpine:latest"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0