Actualizar con un hotpatch
Puedes mejorar GitHub Enterprise Server al último lanzamiento parchado utilizando un hotpatch, lo cual no requerirá una ventana de mantenimiento y, habitualmente, no requiere un reinicio. Puedes utilizar los hotpatches para subir de categoría a un nuevo lanzamiento parchado, pero no a un lanzamiento de características. Por ejemplo, puedes mejorar de 2.10.1
a 2.10.5
porque pertenecen a la misma serie de características, pero no de 2.10.9
a 2.11.0
, porque están en una serie de características diferente.El script de instalación de hotpatch instala el hotpatch en cada nodo de la agrupación y reinicia los servicios en su secuencia adecuada para evitar el tiempo de inactividad.
- Realiza una copia de seguridad de tus datos con Utilidades de respaldo del servidor de GitHub Enterprise.
- Desde el shell administrativo de cualquier nodo, usa el comando
ghe-cluster-hotpatch
para instalar el último hotpatch. Puedes proporcionar una URL para un hotpatch, o descargar manualmente el hotpatch y especificar un nombre de archivo local.$ ghe-cluster-hotpatch https://HOTPATCH-URL/FILENAME.hpkg
Actualizar con un paquete de actualización
Usa un paquete de actualización para actualizar una agrupación de GitHub Enterprise Server a la última característica de lanzamiento. Por ejemplo, puedes actualizar desde 2.11
hasta 2.13
.
Preparar para una actualización
- Revisa la Configuración de red de la agrupación para la versión a la que deseas avanzar y realiza las actualizaciones conforme sea necesario.
- Realiza una copia de seguridad de tus datos con Utilidades de respaldo del servidor de GitHub Enterprise.
- Planifica una ventana de mantenimiento para los usuarios finales de tu agrupación de GitHub Enterprise Server, dado que no estará disponible para usar normalmente durante la actualización. El modo de mantenimiento bloquea el acceso de los usuarios e impide que se realicen cambios en los datos mientras la actualización de la agrupación está en curso.
- En GitHub Enterprise Server Descargar página, copia la URL para el archivo de actualización .pkg en el portapapeles.
- Desde el shell administrativo de cualquier nodo, usa el comando
ghe-cluster-each
combinado concurl
para descargar el paquete de lanzamiento para cada nodo en un solo paso. Usa la URL que copiaste en el paso anterior como argumento.$ ghe-cluster-each -- "cd /home/admin && curl -L -O https://PACKAGE-URL.pkg" > ghe-app-node-1: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-app-node-1: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 24.2M 0 0:00:20 0:00:20 --:--:-- 27.4M > ghe-data-node-2: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-data-node-2: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 21.3M 0 0:00:23 0:00:23 --:--:-- 25.8M > ghe-data-node-1: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-data-node-1: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 19.7M 0 0:00:25 0:00:25 --:--:-- 25.6M > ghe-app-node-2: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-app-node-2: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 19.8M 0 0:00:25 0:00:25 --:--:-- 17.6M > ghe-data-node-3: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-data-node-3: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 19.7M 0 0:00:25 0:00:25 --:--:-- 25.5M
- Identifica el nodo MySQL principal, que se definió como
mysql-master = <hostname>
encluster.conf
. Este será el último nodo que se actualizará.
Actualizar los nodos de la agrupación
- Habilita el modo de mantenimiento de acuerdo con tu ventana planificada conectando el shell administrativo de cualquier nodo de agrupación y ejecutando
ghe-cluster-maintenance -s
. - Con la excepción del nodo primario de MySQL, conéctate al shell administrativo de cada uno de los nodos de GitHub Enterprise Server. Ejecuta el comando
ghe-upgrade
, suministrando el nombre del archivo del paquete que descargaste en el Paso 4 de Preparar una actualización:$ ghe-upgrade PACKAGE-FILENAME.pkg > *** verifying upgrade package signature... > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A > gpg: checking the trustdb > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model > gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) >
" - El proceso de actualización reiniciará el nodo MySQL principal una vez que esté completo. Verifica que puedes
hacer ping
en cada nodo luego del reinicio. - Conecta con el shell administrativo del nodo MySQL principal. Ejecuta el comando
ghe-upgrade
, suministrando el nombre del archivo del paquete que descargaste en el Paso 4 de Preparar una actualización:$ ghe-upgrade PACKAGE-FILENAME.pkg > *** verifying upgrade package signature... > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A > gpg: checking the trustdb > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model > gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) >
" - El proceso de actualización reiniciará el nodo MySQL principal una vez que esté completo. Verifica que puedes hacer
ping
en cada nodo después de que reinicie. - Cierra el modo de mantenimiento desde el shell administativo de cualquier nodo al ejecutar
ghe-cluster-maintenance -u
.