Это старая версия документа!


Создание токена

docker exec -ti gitlab-service-1 gitlab-rails console

# Получите текущие настройки
setting = ApplicationSetting.current
 
# Сгенерируйте новый токен регистрации раннеров
setting.reset_runners_registration_token!
 
# Сохраните настройки
setting.save
 
# Покажите новый токен
puts "✅ Новый токен регистрации раннеров: #{setting.runners_registration_token_encrypted}"
# Способ 1: Прямое создание через метод
new_token = ApplicationSetting.current.reset_runners_registration_token
puts "Токен: #{new_token}"
 
# Способ 2: Через Gitlab::CurrentSettings
Gitlab::CurrentSettings.reset_runners_registration_token!
puts "Токен: #{Gitlab::CurrentSettings.runners_registration_token}"
 
# Способ 3: Принудительное создание
setting = ApplicationSetting.current
setting.runners_registration_token = "glrt-#{SecureRandom.hex(16)}"
setting.save(validate: false)
puts "Токен: #{setting.runners_registration_token}"
 
# Токен для health checks
setting.reset_health_check_access_token!
puts "Health Check токен: #{setting.health_check_access_token}"
 
# Токен для error tracking
setting.reset_error_tracking_access_token!
puts "Error Tracking токен: #{setting.error_tracking_access_token}"
 
exit

docker exec -ti gitlab-service-1 gitlab-rails dbconsole

-- Принудительно установите новый токен
UPDATE application_settings 
SET runners_registration_token_encrypted = 'glrt-' || substr(md5(random()::text), 1, 20),
    updated_at = NOW()
WHERE id = 1;
 
-- Проверьте
SELECT runners_registration_token_encrypted FROM application_settings;

docker exec -ti gitlab-service-1 gitlab-rails console

# Убедитесь, что токен установлен
ApplicationSetting.current.runners_registration_token
 
# Проверьте, что нет ошибок
ApplicationSetting.current.valid?

Полученный токен используйте для регистрации новых runners:

# Пример регистрации runner
$ gitlab-runner register \
  --url http://192.168.1.2/ \
  --registration-token "ВАШ_НОВЫЙ_ТОКЕН" \
  --description "Новый runner" \
  --executor "docker" \
  --docker-image alpine:latest