migración de gitlab y 500 problemas después de la migración

migración de gitlab

antecedentes

  • Antes de que se implementara gitlab en la máquina de Alibaba Cloud, debido a que la red externa era relativamente insegura, consideramos movernos a la red interna.

alrededores

  • Implementación de la ventana acoplable gitlab-11.11.3

Implementar

  1. Respaldo
    docker exec -ti gitlab bash
    gitlab-rake gitlab:backup:create
    docker cp gitlab:/var/opt/gitlab/backups/1612427334_2021_02_04_11.11.3_gitlab_backup.tar .
  2. Inicie la misma versión de gitlab en la máquina de la intranet (se requiere la misma versión para la copia de seguridad y recuperación de gitlab)
docker exec -ti gitlab bash
mv 1612427334_2021_02_04_11.11.3_gitlab_backup.tar /var/opt/gitlab/backups/
chmod 755 /var/opt/gitlab/backups/1612427334_2021_02_04_11.11.3_gitlab_backup.tar
chown root:root /var/opt/gitlab/backups/1612427334_2021_02_04_11.11.3_gitlab_backup.tar
gitlab-rake gitlab:backup:restore BACKUP=1612427334_2021_02_04_11.11.3

problema

1. Ingrese a la página del corredor ci / cd e informe 500

gitlab-rails console
Ci::Runner.all.update_all(token_encrypted: nil)

gitlab-rails dbconsole
UPDATE projects SET runners_token = null, runners_token_encrypted = null; 

2. Cree un nuevo usuario, y cuando el usuario se vea obligado a cambiar la contraseña, la
visualización del registro 500 es similar: debido a que no hay ningún artículo escrito la primera vez, la visualización del registro es similar, no el registro que encontré.


The form contains the following error:

    PG::NotNullViolation: ERROR: null value in column "id" violates not-null constraint DETAIL: Failing row contains (null, 164, t). : INSERT INTO "project_ci_cd_settings" ("project_id") VALUES (164) RETURNING "id"

Solución: compruebe si la tabla correspondiente tiene un valor nulo e inicie una nueva estructura de tabla de comparación de gitlab

resolver:

gitlabhq_production=> CREATE SEQUENCE user_preference_id_seq INCREMENT BY 1 NO MINVALUE NO MAXVALUE START WITH 106 OWNED BY user_preferences.id;   重新创建sequence
gitlabhq_production=> ALTER TABLE user_preferences ALTER COLUMN id SET DEFAULT NEXTVAL('user_preference_id_seq'::regclass);                         恢复表结构修饰符

3. Al asignar al usuario al crear una combinación, 500
registros de gitlab después del envío :

==> /var/log/gitlab/postgresql/current <==
2021-03-18_05:52:05.23424 ERROR:  null value in column "id" violates not-null constraint
2021-03-18_05:52:05.23427 DETAIL:  Failing row contains (null, 61, 4046).
2021-03-18_05:52:05.23427 STATEMENT:  INSERT INTO "merge_request_assignees" ("user_id", "merge_request_id") VALUES (61, 4046) RETURNING "id"

resolver:

gitlabhq_production=> CREATE SEQUENCE merge_request_assignees_id_seq INCREMENT BY 1 NO MINVALUE NO MAXVALUE START WITH 106 OWNED BY merge_request_assignees.id;   重新创建sequence
gitlabhq_production=> ALTER TABLE merge_request_assignees ALTER COLUMN id SET DEFAULT NEXTVAL('merge_request_assignees_id_seq'::regclass);                         恢复表结构修饰符

Nota: Después de migrar gitlab, habrá un problema de pérdida de la secuencia de la base de datos. Reconstruya la secuencia y restaure los modificadores de campo. En comparación con el nuevo gitlab, encontrará que se pueden perder muchas secuencias y se recomienda restaurarlas todas.

Referencia: https://gitlab.com/gitlab-org/gitlab/-/issues/26020

Supongo que te gusta

Origin blog.51cto.com/674564591/2674660
Recomendado
Clasificación