Actualización y aplicación de parches de idioma en GitLab CE

Mantener GitLab actualizado es fundamental para aprovechar las nuevas funcionalidades y corregir vulnerabilidades de seguridad. Este proceso detalla los pasos para actualizar una instancia de GitLab CE basada en RPM y aplicar parches de localización personalizados.

Obtención del paquete de actualización

El primer paso consiste en descargar el paquete de instalación correspondiente a la versión objetivo. Puede obtenerse desde repositorios espejo o directamente desde los servidores oficiales. En este ejemplo, almacenaremos el paquete en un directorio temporal dedicado.

mkdir -p /opt/gitlab-upgrades
cd /opt/gitlab-upgrades
curl -L -o gitlab-ce-16.5.0-ce.0.el8.x86_64.rpm "https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-16.5.0-ce.0.el8.x86_64.rpm/download.rpm"

Ejecución de la actualización del sistema

Antes de aplicar el nuevo paquete, es recomendable detener los servicios principales para evitar inconsistencias en la base de datos o en los procesos en segundo plano durante la migración.

Detención de servicios críticos

gitlab-ctl stop puma
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx

Instalación del nuevo paquete

Utilice el gestor de paquetes del sistema para realizar la actualización del binario.

dnf localinstall -y /opt/gitlab-upgrades/gitlab-ce-16.5.0-ce.0.el8.x86_64.rpm

Reconfiguración y reinicio

Una vez actualizados los binarios, es necesario rceonfigurar la instancia para aplicar las migraciones de base de datos y actualizar los archivos de configuración, seguido de un reinicio general.

gitlab-ctl reconfigure
gitlab-ctl restart

Aplicación de parches de localización

Si la versión oficial no incluye el idioma deseado o se requiere una traducción específica de la comunidad, es posible aplicar un parche de localización manualmente.

Preparación del entorno y descarga del repositorio de traducción

dnf install -y git patch
cd /tmp
git clone --depth 1 --branch v16.5.0-zh https://gitlab.com/xhang/gitlab.git gitlab-localization

Geenración e inyección del parche

Se debe generar un archivo de diferencias entre la versión base y la rama localizada, para luego aplicarlo sobre los archivos de la aplicación.

cd /tmp/gitlab-localization
git diff v16.5.0 v16.5.0-zh > /tmp/custom-locale.patch

# Aplicar el parche al directorio de servicios de GitLab
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /tmp/custom-locale.patch

Reinicio final

Para que los cambios de localización surtan efecto, reinicie los servicios y ejecute una reconfiguración final.

gitlab-ctl restart
gitlab-ctl reconfigure

Etiquetas: GitLab linux rpm DevOps localization

Publicado el 8-31 17:57