Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.
Versión del artículo: Enterprise Server 2.15

Esta versión de GitHub Enterprise se discontinuará el Esta versión de GitHub Enterprise se discontinuó el 2019-10-16. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Actualizar el servidor de GitHub Enterprise

Actualizar el Servidor de GitHub Enterprise para obtener las funciones y las actualizaciones de seguridad más recientes.

En esta guía

Preparar para una actualización

  1. Determina una estrategia de actualización y elige una versión a la que actualizar. Para obtener más información, consulta "Requisitos de actualización."

  2. Si estás actualizando a Servidor de GitHub Enterprise 2.14 o 2.15 desde 2.12 o 2.13, descarga y ejecuta un script de migración para migrar tu búsqueda o los índices webhook a Elasticsearch 5.6. Para obtener más información, consulta "Migrar índices de Elasticsearch a Servidor de GitHub Enterprise 2.14 o posterior."

  3. Crea una copia de seguridad nueva de tu instancia principal con las Utilidades de respaldo del servidor de GitHub Enterprise. Para obtener más información, consulta el archivo README.md en Utilidades de respaldo del servidor de GitHub Enterprise.

  4. Si estás actualizando con un paquete de actualización, programa una ventana de mantenimiento para los usuarios finales del Servidor de GitHub Enterprise. Si estás usando un hotpatch, no se requiere el modo mantenimiento.

    Nota: la ventana de mantenimiento depende del tipo de actualización que realices. Las actualizaciones que utilizan un hotpatch por lo general no requieren una ventana de mantenimiento. A veces se necesita reiniciar; puedes hacerlo más tarde. Siguiendo el esquema de control de versiones de MAJOR.FEATURE.PATCH, los lanzamientos de patch que utilizan un paquete de actualización normalmente requieren menos de cinco minutos de tiempo de inactividad. Los lanzamientos de funciones que incluyen migraciones de datos toman más tiempo dependiendo del desempeño del almacenamiento y de la cantidad de datos que se migran. Para obtener más información, consulta "Habilitar y programar el modo mantenimiento."

Tomar una instantánea

Una instantánea es un punto de verificación de una máquina virtual (VM) en un momento en el tiempo. Recomendamos firmemente tomar una instantánea antes de actualizar tu máquina virtual para que si falla una actualización, puedas revertir tu VM nuevamente a la instantánea. Si no estás actualizando a un nuevo lanzamiento de característica, debes tomar una instantánea de VM. Si estás actualizando a un nuevo lanzamiento de patch, puedes adjuntar el disco de datos existente.

Hay dos tipos de instantáneas:

Plataforma Método de instantánea URL de documentación de instantánea
Amazon AWS Disco https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html
Azure VM https://azure.microsoft.com/en-us/documentation/articles/backup-azure-vms/
Hyper-V VM https://technet.microsoft.com/en-us/library/dd851843.aspx
Google Compute Engine Disco https://cloud.google.com/compute/docs/disks/create-snapshots
VMware VM https://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.vsphere.vm_admin.doc_50/GUID-9720B104-9875-4C2C-A878-F1C351A4F3D8.html
XenServer VM https://support.citrix.com/article/CTX122978

Actualizar con un hotpatch

You can upgrade Servidor de GitHub Enterprise to the latest patch release using a hotpatch, which does not require a maintenance window and usually does not require a reboot. You can use hotpatching to upgrade to a newer patch release, but not a feature release. For example, you can upgrade from 2.10.1 to 2.10.5 because they are in the same feature series, but not from 2.10.9 to 2.11.0 because they are in a different feature series. Utilizando la consola de administración, puedes instalar un hotpatch de forma inmediata o programar la instalación para más tarde. Puedes utilizar el shell administrativo para instalar un hotpatch con la herramienta ghe-upgrade. Para obtener más información, consulta "Requisitos de actualización."

Actualizar un aparato único con un hotpatch

Instalar un hotpatch utilizando la consola de administración

Instalar un hotpatch utilizando la Consola de administración no está disponible en los entornos de agrupación. Para instalar un hotpatch en un entorno de agrupación, consulta "Instalar un hotpatch utilizando el shell administrativo."

  1. Habilitar actualizaciones automáticas. For more information, see "Enabling automatic updates."

  2. In the upper-right corner of any page, click .

    Ícono de cohete para acceder a las configuraciones de administrador del sitio

  3. En la barra lateral izquierda, haz clic en Consola de administración.

    Pestaña Consola de administración en la barra lateral izquierda

  4. At the top of the Consola de administración, click Updates.

    Updates menu item

  5. Cuando se ha descargado un nuevo hotpatch, utiliza el menú desplegable del paquete de instalación:

    • Para instalar de forma inmediata, selecciona Now (Ahora):
    • Para instalarlo más tarde, selecciona una fecha posterior.
      Menú desplegable de fecha de instalación de hotpatch
  6. Haz clic en Install (Instalar).

    Botón de instalación de hotpatch

Instalar un hotpatch utilizando un shell administrativo

Note: If you've enabled automatic update checks, you don't need to download the upgrade package and can use the file that was automatically downloaded. For more information, see "Enabling automatic update checks."

  1. SSH into tu instancia de servidor de GitHub Enterprise.

    $ ssh -p 122 admin@HOSTNAME
  2. Browse to the Servidor de GitHub Enterprise Releases page. Next to the release you are upgrading to, click Download, then click the Upgrading tab. Copia el URL para obtener el paquete de actualización (.hpkg file).

  3. Download the upgrade package to tu instancia de servidor de GitHub Enterprise using curl:

    admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL
  4. Ejecuta el comando ghe-upgrade utilizando el nombre del archivo del paquete:

    admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.hpkg*** verificando firma de paquete de actualización...
  5. Si se requiere un reinicio para las actualizaciones de kernel, MySQL, Elasticsearch u otros programas, el script de actualización de hotpatch te avisa.

Actualizar un aparato que tiene instancias de réplica utilizando un hotpatch

Los aparatos configurados para alta disponibilidad y de replicación geográfica utilizan instancias de réplica además de las instancias principales. Para actualizar estos aparatos, necesitarás actualizar tanto la instancia principal y todas las instancias de réplica, una a la vez.

Actualizar la instancia principal
  1. Actualiza la instancia principal siguiendo las instrucciones en "Instalar un hotpatch utilizando el shell administrativo."
Actualizar una instancia de réplica

Nota: si estás ejecutando múltiples instancias de réplica como parte de la replicación geográfica, repite este procedimiento para cada instancia de réplica, una a la vez.

  1. Actualiza la instancia de réplica siguiendo las instrucciones en "Instalar un hotpatch utilizando el shell administrativo." Si estás usando múltiples réplicas para la replicación geográfica, debes repetir este procedimiento para actualizar cada réplica, una a la vez.

  2. Connect to the replica instance over SSH as the "admin" user on port 122:

    $ ssh -p 122 admin@replica-host
  3. Verify the upgrade by running:

    $ ghe-version

Revertir la instalación de un hotpatch

If a hotpatch installation introduces any problems or unexpected behavior, you can use the ghe-upgrade --allow-patch-rollback command to install a regular upgrade package (.pkg) of the previous version.

Actualizar con un paquete de actualización

Al mismo tiempo que puedes utilizar un hotpatch para actualizar al lanzamiento de patch más reciente dentro de una serie de características, debes utilizar un paquete de actualización para actualizar a un lanzamiento de característica más nuevo. Por ejemplo para actualizar de 2.11.10 a 2.12.4 debes utilizar un paquete de actualización ya que están en series de características diferentes. Para obtener más información, consulta "Requisitos de actualización."

Actualizar un aparato único con un paquete de actualización

Note: If you've enabled automatic update checks, you don't need to download the upgrade package and can use the file that was automatically downloaded. For more information, see "Enabling automatic update checks."

  1. SSH into tu instancia de servidor de GitHub Enterprise.

    $ ssh -p 122 admin@HOSTNAME
  2. Browse to the Servidor de GitHub Enterprise Releases page. Next to the release you are upgrading to, click Download, then click the Upgrading tab. Selecciona la plataforma adecuada y copia el URL para obtener el paquete de actualización (.pkg file).

  3. Download the upgrade package to tu instancia de servidor de GitHub Enterprise using curl:

    admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL
  4. Habilita el modo mantenimiento y espera que se completen todos los procesos activos en la instancia del Servidor de GitHub Enterprise. Para obtener más información, consulta "Habilitar y programar el modo mantenimiento."

    Nota: cuando se actualiza el aparato primario en una configuración de alta disponibilidad, el aparato debería estar ya en modo mantenimiento si estás siguiendo las instrucciones en "Actualizar la instancia primaria."

  5. Ejecuta el comando ghe-upgrade utilizando el nombre del archivo del paquete:

    admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.pkg*** verificando firma de paquete de actualización...
  6. Confirma que te gustaría continuar con la actualización y reinicia después de que se verifique la firma del paquete. El nuevo sistema de archivos raíz escribe en la segunda partición y la instancia de forma automática se reinicia en modo mantenimiento:

    *** aplicando actualización...
    Este paquete actualizará tu instalación a la versión version-numberPartición raíz actual: /dev/xvda1 [version-number]
    Partición raíz destino:  /dev/xvda2
    ¿Continuar con la instalación? [s/N]
  7. Para las actualizaciones de aparato único, deshabilita el modo mantenimiento para que los usuarios puedan utilizar tu instancia de servidor de GitHub Enterprise.

    Nota: cuando se actualizan aparatos en configuración de alta disponibilidad, deberías mantener el modo mantenimiento hasta que hayas actualizado todas las réplicas y la replicación esté en curso. Para obtener más información, consulta "Actualizar una instancia de réplica."

Actualizar un aparato que tiene instancias de réplica utilizando un paquete de actualización

Los aparatos configurados para alta disponibilidad y de replicación geográfica utilizan instancias de réplica además de las instancias principales. Para actualizar estos aparatos, necesitarás actualizar tanto la instancia principal y todas las instancias de réplica, una a la vez.

Actualizar la instancia principal

Advertencia: Cuando se detiene una replicación, si falla la primaria, se perderá cualquier trabajo que se realice antes de que la réplica esté actualizada y comience nuevamente la replicación.

  1. En la instancia primaria, habilita el modo mantenimiento y espera a que se completen todos los procesos activos. For more information, see "Enabling maintenance mode."

  2. Connect to the replica instance over SSH as the "admin" user on port 122:

    $ ssh -p 122 admin@replica-host
  3. En la instancia de réplica, o en todas las instancias de réplica si estás ejecutando múltiples instancias de réplica como parte de una replicación geográfica, ejecuta ghe-repl-stop para detener la replicación.

  4. Actualiza la instancia primaria siguiendo las instrucciones en "Actualizar un aparato único con un paquete de actualización."

Actualizar una instancia de réplica

Nota: si estás ejecutando múltiples instancias de réplica como parte de la replicación geográfica, repite este procedimiento para cada instancia de réplica, una a la vez.

  1. Actualiza la instancia de réplica siguiendo las instrucciones en "Actualizar un aparato único con un paquete de actualización." Si estás usando múltiples réplicas para la replicación geográfica, debes repetir este procedimiento para actualizar cada réplica, una a la vez.

  2. Connect to the replica instance over SSH as the "admin" user on port 122:

    $ ssh -p 122 admin@replica-host
  3. Verify the upgrade by running:

    $ ghe-version
  4. On the replica instance, to start replication, run ghe-repl-start.

  5. On the replica instance, to make sure replication services are running correctly, run ghe-repl-status. This command will return OK for all services when a successful replication is in progress and the replica has upgraded. Si el comando devuelve La replicación no se está ejecutando, la replicación puede estar comenzando. Espera alrededor de un minuto antes de volver a ejecutar ghe-repl-status.

    Nota: mientras la resincronización está en progreso, ghe-repl-status puede devolver mensajes esperados que indiquen que la replicación está de forma subyacente. Por ejemplo: CRITICO: la replicación de git está de forma subyacente de la primaria por más de 1007 repositorios o gists

    Si ghe-repl-status no devuelve OK, sigue los pasos de abajo para iniciar la replicación de forma manual.

    1. En la instancia de réplica, ejecuta nuevamente ghe-repl-setup <primary-instance-ip>.

    2. On the replica instance, to start replication, run ghe-repl-start.

    3. On the replica instance, to make sure replication services are running correctly, run ghe-repl-status. This command will return OK for all services when a successful replication is in progress and the replica has upgraded.

  6. Cuando hayas completado la actualización de la última réplica, y se haya completado la resincronización, deshabilita el modo mantenimiento para que los usuarios puedan utilizar tu instancia de servidor de GitHub Enterprise.

Restaurar desde una actualización fallida

Si una actualización falla o se interrumpe, deberías revertir tu instancia a su estado anterior. El proceso para completar esto depende del tipo de actualización.

Revertir un lanzamiento de patch

Para revertir un lanzamiento de patch, utiliza el comando ghe-upgrade --allow-patch-rollback. Revertir no afecta la partición de datos, ya que las migraciones no se ejecutan en los lanzamientos de patch. Para obtener más información, consulta "Herramientas de línea de comando."

Revertir un lanzamiento de característica

Para revertir un lanzamiento de característica, restaura desde una instantánea de VM para garantizar que las particiones raíz y de datos estén en un estado consistente. Para obtener más información, consulta "Tomar una instantánea."

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos