~/CodeBlog.at

Ein halbkreativer Entwickler über alles zwischen C# und TYPO3.

Gitlab Runners: HARD RESET

Ich hatte in meinem Gitlab CE 14.x schon 2x das Problem, dass die Gitlab Runners nicht mehr reagiert haben. Daher wollte ich diese zurücksetzen. Nicht einfach nur in der Admin Oberfläche löschen, sondern wirklich resetten. Ein Hard Reset sozusagen. Dies geht folgendermaßen:

Zuerst müssen wir in die DB-Console, dies geht mit:

gitlab-rails dbconsole

Allerdings nur bis Gitlab 14.1, ab 14.2 muss man auch die Datenbank angeben:

sudo gitlab-rails dbconsole --database main

Danach löschen wir sämtliche Runner Token:

-- Clear project tokens 
UPDATE projects SET runners_token = null, runners_token_encrypted = null; 

-- Clear group tokens 
UPDATE namespaces SET runners_token = null, runners_token_encrypted = null; 

-- Clear instance tokens 
UPDATE application_settings SET runners_registration_token_encrypted = null; 

-- Clear key used for JWT authentication 
-- This may break the $CI_JWT_TOKEN job variable: 
-- https://gitlab.com/gitlab-org/gitlab/-/issues/325965 
UPDATE application_settings SET encrypted_ci_jwt_signing_key = null; 

-- Clear runner tokens 
UPDATE ci_runners SET token = null, token_encrypted = null;

Um die Runners selbst zu löschen (und auch deren IDs zurückzusetzen) führt man folgendes aus:

TRUNCATE TABLE ci_runners, ci_runner_namespaces, ci_runner_projects, clusters_applications_runners RESTART IDENTITY CASCADE;

In der Doku findet man die Schritte hier: https://docs.gitlab.com/ee/raketasks/backup_restore.html#reset-runner-registration-tokens

Nützliches zu PostgreeSQL:

Alle Tabellen anzeigen:

> \dt

Aufgetretene Fehler:

Fehler 500 im Admin Bereich bei den Runners:
https://gitlab.com/gitlab-org/gitlab-foss/-/issues/57038
https://stackoverflow.com/a/58207518

 

In die Rails Console kommt man mit folgendem Befehl:
Quelle: https://docs.gitlab.com/ee/administration/operations/rails_console.html

sudo gitlab-rails console