Acerca del almacenamiento externo de GitHub Actions
GitHub Actions usa el almacenamiento de blobs externo para almacenar los datos generados por las ejecuciones de flujo de trabajo. Los datos almacenados incluyen registros de flujo de trabajo, cachés, y artefactos de compilación cargados por el usuario. Para más información, consulta "Iniciar con GitHub Actions para GitHub Enterprise Server".
Hay dos opciones para configurar GitHub Enterprise Server para conectarse al proveedor de almacenamiento externo:
- OpenID Connect (OIDC)
- Autenticación tradicional basada en credenciales mediante secretos
Se recomienda usar OIDC siempre que sea posible, ya que no necesitarás crear ni administrar secretos de credenciales confidenciales y de larga duración para el proveedor de almacenamiento y no correrás el riesgo de exponerlos. Después de definir una confianza con OIDC, el proveedor de almacenamiento en la nube emite automáticamente tokens de acceso de corta duración a tu instancia de GitHub Enterprise Server, que expiran automáticamente.
Requisitos previos
Antes de que habilites las GitHub Actions, asegúrate de que has completado los siguientes pasos:
-
Crea tu cuenta de Azure Storage para almacenar datos del flujo de trabajo. GitHub Actions almacena sus datos como blobs de bloque y son compatibles dos tipos de cuenta de almacenamiento:
-
Una cuenta de almacenamiento de uso general (también conocida como
general-purpose v1
ogeneral-purpose v2
) que usa el nivel de rendimiento estándar.Advertencia: No se admite el uso del nivel de rendimiento prémium con una cuenta de almacenamiento de uso general. El nivel de rendimiento estándar se debe seleccionar cuando se crea la cuenta de almacenamiento y no se puede cambiar después.
-
Una cuenta de almacenamiento de BlockBlobStorage con un nivel de rendimiento prémium.
Para obtener más información sobre los tipos de cuentas de almacenamiento de Azure y los niveles de rendimiento, consulte la documentación de Azure.
-
-
Revisa los requisitos de hardware de las GitHub Actions. Para obtener más información, vea «Iniciar con GitHub Actions para GitHub Enterprise Server».
-
Se debe configurar el TLS para el dominio de tu instancia de GitHub Enterprise Server. Para obtener más información, vea «Configurar TLS».
Nota: Te recomendamos ampliamente que configures el TLS en GitHub Enterprise Server con un certificado que firme una autoridad confiable. Aunque un certificado auto-firmado podría funcionar, se requeriría una configuración adicional para tus ejecutores auto-hospedados y esto no se recomienda para los ambientes productivos.
-
Si tienes un servidor proxy HTTP configurado en tu instancia de GitHub Enterprise Server:
-
Debe agregar
.localhost
,127.0.0.1
y::1
a la lista de exclusión de proxy HTTP (en ese orden). -
Si la ubicación del almacenamiento externo no es enrutable, también debes agregar la dirección URL del almacenamiento externo a la lista de exclusión.
Para más información sobre cómo cambiar la configuración del proxy, consulta "Configuración de un servidor proxy web de salida".
-
Si usas OIDC para la conexión al proveedor de almacenamiento, debes exponer las siguientes direcciones URL de servicio de token de OIDC en tu instancia de GitHub Enterprise Server en la red pública de Internet:
https://HOSTNAME/_services/token/.well-known/openid-configuration https://HOSTNAME/_services/token/.well-known/jwks
Esto garantiza que el proveedor de almacenamiento pueda ponerse en contacto con tu instancia de GitHub Enterprise Server para la autenticación.
Habilitación de GitHub Actions con Azure Blob Storage mediante OIDC (recomendado)
Para configurar GitHub Enterprise Server con el fin de usar OIDC con una cuenta de almacenamiento de Azure, primero debes registrar una aplicación de Microsoft Entra ID (anteriormente Azure AD) con credenciales de OIDC. Después, configura la cuenta de almacenamiento y, por último, configura GitHub Enterprise Server para acceder al contenedor de almacenamiento mediante Entra ID.
1. Registro de una aplicación de Entra ID
-
Iniciar sesión en el Centro de administración de Microsoft Entra.
-
Registra una nueva aplicación en Entra ID. Para más información, consulta Inicio rápido: Registro de una aplicación con la plataforma de identidad de Microsoft en Microsoft Learn.
-
En la aplicación de Entra ID, en "Aspectos básicos", anota los valores de "Id. de aplicación (cliente)" e "Id. de directorio (inquilino)". Estos valores se usarán más adelante.
-
En la aplicación de Entra ID, en "Administrar", haz clic en Certificados y secretos, selecciona la pestaña Credenciales federadas y haz clic en Agregar credencial.
-
Escribe los detalles siguientes para la credencial:
-
En "Escenario de credenciales federadas", selecciona Otro emisor.
-
En "Emisor", escribe
https://HOSTNAME/_services/token
, dondeHOSTNAME
es el nombre de host público de tu instancia de GitHub Enterprise Server. Por ejemplo,https://my-ghes-host.example.com/_services/token
. -
En "Identificador del firmante", escribe el nombre de host público de tu instancia de GitHub Enterprise Server. Por ejemplo,
my-ghes-host.example.com
.Nota: El identificador del firmante solo debe tener el nombre de host de tu instancia de GitHub Enterprise Server y no debe incluir el protocolo.
-
En "Nombre", escribe un nombre para la credencial.
-
Haga clic en Agregar.
-
2. Configuración de la cuenta de almacenamiento
-
En Microsoft Azure Portal, ve a la cuenta de almacenamiento.
-
Haz clic en Control de acceso (IAM) , haz clic en Agregar y selecciona Agregar asignación de roles.
-
Para el rol, selecciona "Propietario de datos de blobs de almacenamiento" y haz clic en Siguiente.
-
Para los miembros, haz clic en Seleccionar miembros y, después, busca y selecciona el nombre de la aplicación de Entra ID que has creado antes. Haga clic en Seleccionar.
-
Haz clic en Revisar y asignar, revisa la asignación de roles y haz clic en Revisar y asignar de nuevo.
-
En el menú de la izquierda, en "Configuración", haz clic en Puntos de conexión.
-
En "Blob service", anota el valor de "Blob service", concretamente el sufijo del punto de conexión de blob. Este es el valor que aparece después de
https://<storageaccountname>.blob
. Normalmente escore.windows.net
, pero puede variar en función del tipo de cuenta o región de Azure.Por ejemplo, si la dirección URL de Blob service es
https://my-storage-account.blob.core.windows.net
, el sufijo del punto de conexión de blob escore.windows.net
.Anota el nombre de la cuenta de almacenamiento y el sufijo del punto de conexión de blob, ya que estos valores se usarán más adelante.
3. Configuración de GitHub Enterprise Server para conectarse a Entra ID mediante OIDC
-
Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haga clic en .
-
Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.
-
En la barra lateral " Administrador del sitio", haz clic en Consola de administración .
-
En la barra lateral "Configuración", haga clic en Acciones.
-
En "GitHub Actions", seleccione Habilitar Acciones de GitHub.
-
En "Almacenamiento de artefactos y registros", junto a "Azure Blob Storage", haz clic en Configuración.
-
En "Autenticación", selecciona OpenID Connect (OIDC) y escribe los valores del almacenamiento que anotaste en los procedimientos anteriores:
- Identificador de inquilino de Entra ID
- Id. de cliente de Entra ID
- Nombre de la cuenta de almacenamiento de Azure
- Sufijo del punto de conexión de blob de Azure 1. Haz clic en el botón Probar configuración de almacenamiento para validar la configuración de almacenamiento.
Si hay algún error al validar la configuración de almacenamiento, comprueba la configuración con el proveedor de almacenamiento e inténtalo de nuevo.
-
En la barra lateral "Configuración" , haga clic en Guardar configuración.
Nota: Al guardar la configuración en la Consola de administración se restablecen los servicios de sistema, lo que podría generar un tiempo de inactividad visible para el usuario.
-
Espera que se complete la fase de configuración.
Habilitación de GitHub Actions con Azure Blob Storage mediante una cadena de conexión
-
Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haga clic en .
-
Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.
-
En la barra lateral " Administrador del sitio", haz clic en Consola de administración .
-
En la barra lateral "Configuración", haga clic en Acciones.
-
En "GitHub Actions", seleccione Habilitar Acciones de GitHub.
-
En "Almacenamiento de artefactos y registros", junto a "Azure Blob Storage", haz clic en Configuración.
-
En "Autenticación", selecciona Basado en credenciales y escribe la cadena de conexión de la cuenta de almacenamiento de Azure. Para más información sobre cómo obtener la cadena de conexión de la cuenta de almacenamiento, consulte la documentación de Azure.
-
Haz clic en el botón Probar configuración de almacenamiento para validar la configuración de almacenamiento.
Si hay algún error al validar la configuración de almacenamiento, comprueba la configuración con el proveedor de almacenamiento e inténtalo de nuevo.
-
En la barra lateral "Configuración" , haga clic en Guardar configuración.
Nota: Al guardar la configuración en la Consola de administración se restablecen los servicios de sistema, lo que podría generar un tiempo de inactividad visible para el usuario.
-
Espera que se complete la fase de configuración.
Pasos siguientes
Después de que la ejecución de configuración se haya completado correctamente, GitHub Actions se habilitará en tu instancia de GitHub Enterprise Server. Para los próximos pasos, como administrar los permisos de acceso a GitHub Actions y agregar ejecutores autohospedados, vuelve a "Iniciar con GitHub Actions para GitHub Enterprise Server".