Загрузка данных


1. Открываем Rails console
На сервере GitLab:
sudo gitlab-rails console
2. Создаём пользователя
Для GitLab 17.7+ актуальный способ такой:
u = Users::CreateService.new(
  nil,
  username: 'admin2',
  email: 'admin2@example.com',
  name: 'GitLab Administrator',
  password: 'СЮДА_СЛОЖНЫЙ_ПАРОЛЬ',
  password_confirmation: 'СЮДА_СЛОЖНЫЙ_ПАРОЛЬ',
  organization_id: Organizations::Organization.first.id,
  skip_confirmation: true
).execute
Это создаст пользователя.
Но администратором он пока не является. После этого в той же консоли:
u.admin = true
u.save!
Проверяем:
u.admin
Должно вернуть:
=> true
Проверить самого пользователя:
User.find_by(username: 'admin2')
И выйти:
exit
GitLab документирует создание через Users::CreateService, а флаг администратора хранится в поле admin; пользователи с administrator access имеют все права на инстансе.
Можно сделать вообще одной командой
Если хочешь без интерактивного Rails console:
sudo gitlab-rails runner "
u = Users::CreateService.new(
  nil,
  username: 'admin2',
  email: 'admin2@example.com',
  name: 'GitLab Administrator',
  password: 'СЮДА_СЛОЖНЫЙ_ПАРОЛЬ',
  password_confirmation: 'СЮДА_СЛОЖНЫЙ_ПАРОЛЬ',
  organization_id: Organizations::Organization.first.id,
  skip_confirmation: true
).execute
u.admin = true
u.save!
puts \"Created #{u.username}, admin=#{u.admin}\"
"
После выполнения должно быть примерно:
Created admin2, admin=true
Я бы использовал именно второй вариант — меньше шансов ошибиться при ручном вводе в Rails console.