Esta semana tuve que dar soporte a un viejo servidor GitLab 6.0 y nadie tenía la contraseña del usuario admin. Así que me vi en la necesidad de usar la consola de rails
para crear un usuario local y asignarle permisos de administrador en GitLab. Desde la rails console
es posible realizar multitud de gestiones aunque en esta entrada tan solo nos centraremos en la creación de usuarios, reseteo de contraseña y asignación de permisos de administrador en GitLab.
Dependiendo de la versión de GitLab algunos parámetros no son permitidos, siendo necesario hacer algunas acciones en dos pasos.
Lanzar la consola rails
Dependiendo del GitLab, la consola puede ser invocada con el usuario root desde cualquier directorio usando el comando gitlab-rails console production
o debe ser invocada con el usuario git en el directorio gitlab
usando el comando bundle exec rails console production
. A continuación ambos ejemplos:
A través de
gitlab-rails
:123[root@git ~]# gitlab-rails console productionLoading production environment (Rails 4.2.8)irb(main):001:0>A través de
bundle exec
:123git@gitlab-prod:~/gitlab[6-0-stable]$ bundle exec rails console productionLoading production environment (Rails 3.2.13)1.9.1 :001 >
Crear usuario
|
|
En GitLab 6.0 el comando User.create
no admite el parámetros admin
, el cual activa el flag de administrador de GitLab. Por lo que será necesario, primero crear el usuario y, posteriormente asignarle permisos de administrador.
A continuación un ejemplo de la salida del comando User.create
en GitLab 6.0:
|
|
A continuación un ejemplo de la salida del comando User.create
en GitLab 9.1:
|
|
Asignar permisos de administrador a un usuario
|
|
A continuación un ejemplo en GitLab 6.0:
|
|
Confirmar un usuario
Es posible confirmar un usuario sin pasar por el proceso de activación vía email:
|
|
A continuación un ejemplo en GitLab 9.1:
|
|