Skip to main content

Configurar una instancia de preparación

Se puede configurar una instancia GitHub Enterprise Server en un entorno independiente y aislado, y usar la instancia para validar y probar los cambios.

Acerca de las instancias de ensayo

GitHub recomienda configurar un entorno independiente para probar copias de seguridad, actualizaciones o cambios en la configuración de tu instancia de GitHub Enterprise Server. Este entorno, que debes aislar de los sistemas de producción, se llama entorno de ensayo.

Por ejemplo, para protegerte contra la pérdida de datos, puedes validar periódicamente la copia de seguridad de la instancia de producción. Puedes restaurar periódicamente la copia de seguridad de los datos de producción en una instancia independiente de GitHub Enterprise Server en un entorno de ensayo. En esta instancia de ensayo también puedes probar la actualización a la versión más reciente de características de GitHub Enterprise Server.

Sugerencia: puedes reutilizar el archivo de licencia existente GitHub Enterprise siempre que la instancia de ensayo no se use en una capacidad de producción.

Consideraciones para un entorno de ensayo

Para probar exhaustivamente GitHub Enterprise Server y volver a crear un entorno que sea lo más parecido posible al entorno de producción, ten en cuenta los sistemas externos que interactúan con la instancia. Por ejemplo, puedes probar lo siguiente en el entorno de ensayo.

  • Autenticación, especialmente si usas un proveedor de autenticación externo como SAML
  • La integración con un sistema externo de vales
  • La integración con un servidor de integración continua
  • Los scripts externos o el software que usan GitHub Enterprise Server APIs
  • El servidor externo SMTP para notificaciones por correo electrónico

Configurar una instancia de preparación

Puedes preparar una instancia de almacenamiento provisional desde cero y configurarla instancia como quieras. Para obtener más información, vea «Configurar una instancia del servidor de GitHub Enterprise» y «Configurar GitHub Enterprise».

Como alternativa, puedes crear una instancia de almacenamiento provisional que refleje la configuración de producción, restaurando ara ello una copia de seguridad de la instancia de producción en la instancia de pruebas.

  1. Hacer una copia de seguridad de la instancia de producción
  2. Configurar una instancia de almacenamiento provisional
  3. Configurar GitHub Actions
  4. Configurar GitHub Packages
  5. Restaurar la copia de seguridad de producción
  6. Revisar la configuración de la instancia
  7. Aplicar la configuración de la instancia

1. Hacer una copia de seguridad de la instancia de producción

Si quieres probar los cambios en una instancia que contiene los mismos datos y configuración que la instancia de producción, haz una copia de seguridad de los datos y la configuración de la instancia de producción mediante GitHub Enterprise Server Backup Utilities. Para obtener más información, vea «Configuración de copias de seguridad en la instancia».

Advertencia: Si usas GitHub Actions o GitHub Packages en producción, la copia de seguridad incluirá la configuración de producción del almacenamiento externo. Para evitar una posible pérdida de datos al escribir en el almacenamiento de producción desde la instancia de almacenamiento provisional, debes configurar cada característica en los pasos 3 y 4 antes de restaurar la copia de seguridad.

2. Configurar una instancia de almacenamiento provisional

Configura una nueva instancia para que actúe como tu entorno de preparación. Puedes utilizar las mismas guías para aprovisionar e instalar tu instancia de preparación como hiciste para tu instancia de producción. Para obtener más información, vea «Configurar una instancia del servidor de GitHub Enterprise».

Si tienes previsto restaurar una copia de seguridad de la instancia de producción, avanza al siguiente paso. También puedes configurar la instancia manualmente y omitir los pasos siguientes.

3. Configurar GitHub Actions

Opcionalmente, si usas GitHub Actions en la instancia de producción, configura la característica en la instancia de almacenamiento provisional antes de restaurar la copia de seguridad de producción. Si no usas GitHub Actions, ve directamente a "1. Configurar GitHub Packages".

Advertencia: Si no configuras GitHub Actions en la instancia de almacenamiento provisional antes de restaurar la copia de seguridad de producción, la instancia de almacenamiento provisional usará el almacenamiento externo de la instancia de producción, lo que podría suponer una pérdida de datos. Se recomienda encarecidamente usar un almacenamiento externo distinto para la instancia de almacenamiento provisional. Para obtener más información, vea «Utilizar un ambiente de montaje».

  1. Conéctate mediante SSH a la instancia de almacenamiento provisional. Para obtener más información, vea «Acceder al shell administrativo (SSH)».

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Escribe uno de los siguientes comandos para configurar la instancia de almacenamiento provisional para que use un proveedor de almacenamiento externo de GitHub Actions.

    • Azure Blob Storage:

      Shell
      ghe-config secrets.actions.storage.blob-provider "azure"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.blob-provider "s3"
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.blob-provider "gcs"
      
  3. Configura la conexión de almacenamiento externo con los comandos siguientes, reemplazando los valores de marcador de posición por los valores reales de la conexión.

    • Azure Blob Storage:

      Shell
      ghe-config secrets.actions.storage.azure.connection-string "CONNECTION STRING"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.s3.bucket-name "S3 BUCKET NAME"
      ghe-config secrets.actions.storage.s3.service-url "S3 SERVICE URL"
      ghe-config secrets.actions.storage.s3.access-key-id "S3 ACCESS KEY ID"
      ghe-config secrets.actions.storage.s3.access-secret "S3 ACCESS SECRET"
      

      Opcionalmente, para forzar el direccionamiento con estilo de ruta de acceso para S3, especifica también el comando siguiente.

      Shell
      ghe-config secrets.actions.storage.s3.force-path-style true
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.gcs.service-url "SERVICE URL"
      ghe-config secrets.actions.storage.gcs.bucket-name "BUCKET NAME"
      ghe-config secrets.actions.storage.gcs.access-key-id "HMAC ACCESS ID"
      ghe-config secrets.actions.storage.gcs.access-secret "HMAC SECRET"
      
  4. Escribe el siguiente comando para prepararlo todo para habilitar GitHub Actions en la instancia de almacenamiento provisional.

    Shell
    ghe-config app.actions.enabled true
    

4. Configurar GitHub Packages

Opcionalmente, si usas GitHub Packages en la instancia de producción, configura la característica en la instancia de almacenamiento provisional antes de restaurar la copia de seguridad de producción. Si no usas GitHub Packages, ve a "1. Restaurar la copia de seguridad de producción".

Advertencia: Si no configuras GitHub Packages en la instancia de almacenamiento provisional antes de restaurar la copia de seguridad de producción, la instancia de almacenamiento provisional usará el almacenamiento externo de la instancia de producción, lo que podría suponer una pérdida de datos. Se recomienda encarecidamente usar un almacenamiento externo distinto para la instancia de almacenamiento provisional.

  1. Revisa la copia de seguridad que vas a restaurar en la instancia de almacenamiento provisional.

    • Si has hecho la copia de seguridad con GitHub Enterprise Server Backup Utilities 3.5 o una versión posterior, la copia de seguridad incluye la configuración de GitHub Packages. Continúe con el paso siguiente.
    • Si has hecho la copia de seguridad con GitHub Enterprise Server Backup Utilities 3.4 o una versión anterior, configura GitHub Packages en la instancia de almacenamiento provisional. Para obtener más información, vea «Iniciar con GitHub Packages para tu empresa».
  2. Conéctate mediante SSH a la instancia de almacenamiento provisional. Para obtener más información, vea «Acceder al shell administrativo (SSH)».

    Shell
    ssh -p 122 admin@HOSTNAME
    
  3. Configura la conexión de almacenamiento externo con los comandos siguientes, reemplazando los valores de marcador de posición por los valores reales de la conexión.

    • Azure Blob Storage:

      Shell
      ghe-config secrets.packages.blob-storage-type "azure"
      ghe-config secrets.packages.azure-container-name "AZURE CONTAINER NAME"
      ghe-config secrets.packages.azure-connection-string "CONNECTION STRING"
      
    • Amazon S3:

      Shell
      ghe-config secrets.packages.blob-storage-type "s3"
      ghe-config secrets.packages.service-url "S3 SERVICE URL"
      ghe-config secrets.packages.s3-bucket "S3 BUCKET NAME"
      ghe-config secrets.packages.aws-access-key "S3 ACCESS KEY ID"
      ghe-config secrets.packages.aws-secret-key "S3 ACCESS SECRET"
      
  4. Escribe el siguiente comando para prepararlo todo para habilitar GitHub Packages en la instancia de almacenamiento provisional.

    Shell
    ghe-config app.packages.enabled true
    

5. Restaurar la copia de seguridad de producción

Usa el comando ghe-restore para restaurar el resto de los datos de la copia de seguridad. Para obtener más información, vea «Configuración de copias de seguridad en la instancia».

Si la instancia de almacenamiento provisional ya está configurada y quieres sobrescribir la configuración, el certificado y los datos de licencia, agrega la opción -c al comando. Para obtener más información sobre esta opción, consulta Uso de los comandos de copia de seguridad y restauración en la documentación de GitHub Enterprise Server Backup Utilities.

6. Revisar la configuración de la instancia

Para acceder a la instancia de almacenamiento provisional con el mismo nombre de host, actualiza el archivo hosts local para resolver el nombre de host de la instancia de almacenamiento provisional mediante la dirección IP; para ello, edita el archivo /etc/hosts en macOS o Linux, o el archivo C:\Windows\system32\drivers\etc en Windows.

Nota: La instancia de almacenamiento provisional debe ser accesible desde el mismo nombre de host que la instancia de producción. El nombre de host de tu instancia de GitHub Enterprise Server no se puede cambiar. Para obtener más información, vea «Configuración del nombre de host para la instancia».

Tras ello, revisa la configuración de la instancia de almacenamiento provisional en la Consola de administración. Para obtener más información, vea «Administrar la instancia desde la interfaz del usuario web».

Advertencia: Si has configurado GitHub Actions o GitHub Packages para la instancia de almacenamiento provisional, si quieres evitar que los datos de producción se sobrescriban, asegúrate de que la configuración de almacenamiento externo en la Consola de administración no coincide con la de la instancia de producción.

7. Aplicar la configuración de la instancia

Para aplicar la configuración desde la Consola de administración, haz clic en Guardar configuración.

Reconexión de una instancia de almacenamiento provisional

Es posible que quiera apagar una instancia de almacenamiento provisional para ahorrar costes y volver a encenderla cuando sea necesario.

Una instancia puede permanecer sin conexión durante 60 días.

Si vuelve a poner la instancia en línea dentro del periodo de tiempo sin conexión permitido, GitHub Enterprise Server crea instancias correctamente. Si la instancia permanece sin conexión durante más tiempo que el periodo permitido, GitHub Enterprise Server no crea instancias correctamente y puede aparecer un mensaje de error con el texto server has been offline for more than the configured server_rejoin_age_max en los registros del sistema. Consulte "Acerca de los registros del sistema".

Si la instancia está bloqueada en estado de error, puede ejecutar estos comandos para recuperarse.

sudo mv /data/user/consul/server_metadata.json /data/user/consul/server_metadata.json.bak
ghe-config-apply

Información adicional