====== Installationsprotokoll ======
==== System aktualisieren ====
sudo apt-get update
sudo apt-get upgrade
==== NTP installieren ====
sudo apt-get install ntp
==== Docker und Docker Registry Tools installieren ====
=== 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