Acerca de GitHub Actions para empresas
GitHub Actions es una plataforma de integración y despliegue continuos (IC/DC) que te permite automatizar tu mapa de compilación, pruebas y despliegue. Con GitHub Actions, su empresa puede automatizar, personalizar y ejecutar flujos de trabajo de desarrollo de software, como pruebas e implementaciones. Para más información, consulta [AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises).
Antes de presentar GitHub Actions a una gran empresa, primero debe planear su adopción y tomar decisiones sobre cómo usará GitHub Actions su empresa para satisfacer mejor sus necesidades únicas.
Gobernanza y cumplimiento
Debe crear un plan para gobernar el uso de GitHub Actions en su empresa y cumplir con sus obligaciones de cumplimiento.
Determine qué acciones y flujos de trabajo reutilizables podrán usar los desarrolladores. en primer lugar, decida si permitirá acciones de terceros y flujos de trabajo reutilizables que no se crearon mediante GitHub. Puede configurar las acciones y los flujos de trabajo reutilizables que se pueden ejecutar en el repositorio, la organización y los niveles empresariales, y puede optar por permitir solo las acciones creadas por GitHub. Si permite acciones de terceros y flujos de trabajo reutilizables, puede limitar las acciones permitidas a las creadas por creadores comprobados o una lista de acciones específicas y flujos de trabajo reutilizables.
Para más información, consulta Administración de la configuración de GitHub Actions para un repositorio, Deshabilitación o limitación de GitHub Actions para su organización y Aplicación de directivas para GitHub Actions en la empresa.
Considera combinar OpenID Connect (OIDC) con los flujos de trabajo reutilizables para requerir despliegues coherentes a lo largo de tu repositorio, organización o empresa. Puedes hacerlo si defines las condiciones de confianza en los roles de la nube con base en los flujos reutilizables. Para más información, consulta Utilizar OpenID Connect con flujos de trabajo reutilizables.
Puede acceder a información sobre la actividad relacionada con GitHub Actions en los registros de auditoría de su empresa. Si sus necesidades empresariales requieren conservar esta información más tiempo que los datos del registro de auditoría, planee cómo exportará y almacenará estos datos fuera de GitHub. Para obtener más información, consulte Exportación de actividades del registro de auditoría de su empresa y Streaming del registro de auditoría de su empresa.
Puede practicar el principio de privilegio mínimo mediante la administración de roles de organización personalizados para acceder a la configuración en la canalización de CI/CD de GitHub Actions. Para obtener más información sobre los roles de organización personalizados, consulte [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles).
Seguridad
Debe planificar su enfoque para el fortalecimiento de seguridad de GitHub Actions.
Fortalecer la seguridad de los flujos de trabajo y repositorios individuales
Haga un plan para aplicar buenas prácticas de seguridad para las personas que usan GitHub Actions características dentro de su empresa. Para obtener más información sobre estas prácticas, consulte Referencia de uso seguro.
También puedes fomentar la reutilización de flujos de trabajo que ya se hayan evaluado en su seguridad. Para obtener más información, consulte Innersourcing.
Asegurar el acceso a los secretos y recursos de despliegue
Deberías planear dónde almacenarás tus secretos. Se recomienda almacenar secretos en GitHub, pero puede optar por almacenar secretos en un proveedor de nube.
En GitHub, puede almacenar secretos en el nivel de repositorio o organización. Los secretos a nivel de repositorio pueden limitarse a los flujos de trabajo en ciertos ambientes, tales como los de producción o de pruebas. Para más información, consulta Uso de secretos en Acciones de GitHub.
Deberías considerar la posibilidad de agregar protección manual para las aprobaciones en el caso de los entornos sensibles para que los flujos de trabajo deban aprobarse antes de obtener acceso a los secretos de los entornos. Para más información, consulta Administrar entornos para la implementación.
Consideraciones de seguridad para las acciones de terceros
Hay un riesgo significativo en suministrar acciones de repositorios de terceros en GitHub. Si permites cualquier acción de terceros, deberías crear lineamientos internos que motiven a tu equipo a seguir las mejores prácticas, tales como fijar acciones al SHA de confirmación completo. Para más información, consulta Referencia de uso seguro.
Redes privadas con ejecutores hospedados en GitHub
Puede utilizar los ejecutores hospedados en GitHub con una VNet de Azure Esto le permite utilizar la infraestructura administrada en GitHub para el CI/CD, a la vez que proporciona control total sobre las directivas de red de los ejecutores. Para más información sobre Azure VNET, consulta [¿Qué es Azure Virtual Network?](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview) en la documentación de Azure. Para obtener más información, consulte [AUTOTITLE](/admin/configuration/configuring-private-networking-for-hosted-compute-products/about-azure-private-networking-for-github-hosted-runners-in-your-enterprise).
Innersourcing (uso de prácticas de código abierto dentro de una organización)
Piense en cómo su empresa puede usar características de GitHub Actions para la automatización de recursos internos. Innersourcing es una manera de incorporar las ventajas de open source metodologías en el ciclo de desarrollo de software interno. Para obtener más información, vea Introducción a innersource en GitHub Recursos.
Para compartir las acciones en toda la empresa sin publicarlas de forma pública, puedes almacenarlas en un repositorio interno y luego configurarlo para que acceda a los flujos de trabajo de GitHub Actions en otros repositorios que sean propiedad de la misma organización o de una organización de la empresa. Para más información, consulta Compartir acciones y flujos de trabajo con tu empresa.
Con los flujos de trabajo reutilizables, tu equipo puede activar un flujo de trabajo desde otro sin que se produzca una duplicación exacta. Los flujos de trabajo reutilizables promueven las mejores prácticas, ayudando a tu equipo a utilizar flujos de trabajo que estén bien diseñados y ya se hayan probado. Para más información, consulta Reutilización de flujos de trabajo.
A fin de proporcionar un punto de partida para que los desarrolladores creen flujos de trabajo, puede utilizar plantillas de flujo de trabajo. Esto no solo ahorra tiempo a tus desarrolladores, sino que también promueve la consistencia y las mejores prácticas a lo largo de tu empresa. Para más información, consulta Creación de plantillas de flujo de trabajo para la organización.
Administración de recursos
Debe planear cómo administrará los recursos necesarios para usar GitHub Actions.
Ejecutores
GitHub Actions los flujos de trabajo requieren ejecutores. Puede optar por usar ejecutores hospedados en GitHub o ejecutores autohospedados. GitHub administra el mantenimiento y las actualizaciones de los ejecutores hospedados en GitHub. Para más información, consulta [AUTOTITLE](/actions/using-github-hosted-runners/about-github-hosted-runners).
Para administrar tus propios recursos, configuración o ubicación geográfica de las máquinas del ejecutor, usa ejecutores autohospedados. Para más información, consulta Ejecutores autohospedados.
Si desea tener más control sobre las directivas de red de los ejecutores, use ejecutores autohospedados u opciones de redes privadas para ejecutores hospedados en GitHub. Para obtener más información sobre las opciones de redes privadas, consulte Redes privadas con ejecutores hospedados en GitHub.
Si usa ejecutores autohospedados, debe decidir si desea usar máquinas físicas, máquinas virtuales o contenedores. Las máquinas físicas conservarán los restos de trabajos anteriores, al igual que las máquinas virtuales, a menos que use una imagen nueva para cada trabajo o limpie las máquinas después de ejecutar cada trabajo. Si eliges contenedores, debes saber que la actualización automática del ejecutor apagará el contenedor, lo cual puede ocasionar que los flujos de trabajo fallen. Deberías idear una solución para esto al prevenir las actualizaciones automáticas u omitir el comando para eliminar al contenedor.
También tienes que decidir dónde agregar cada ejecutor. Puedes agregar un ejecutor alojado en servidor propio a un repositorio individual, o puedes hacerlo accesible para toda una organización o para toda tu empresa. El agregar ejecutores a nivel de empresa u organización permite compartir ejecutores, lo cual podría reducir el tamaño de tu infraestructura para ejecutores. Puedes utilizar políticas para limitar el acceso a los ejecutores auto-hospedados a nivel de empresa y organización si asignas grupos de ejecutores a los repositorios u organizaciones específicas. Para más información, consulta Agrega ejecutores auto-hospedados y Administración del acceso a los ejecutores autohospedados mediante grupos. También puede usar directivas para evitar que los usuarios usen ejecutores autohospedados de nivel de repositorio. Para más información, consulta Aplicación de directivas para GitHub Actions en la empresa.
Debes considerar utilizar el autoescalamiento para incrementar o decrementar automáticamente la cantidad de ejecutores auto-hospedados. Para más información, consulta Referencia de ejecutores autohospedados.
Finalmente, deberías considerar el fortalecimiento de seguridad para los ejecutores auto-hospedados. Para más información, consulta Referencia de uso seguro.
Almacenamiento
Los artefactos te habilitan para compartir datos entre jobs en un flujo de trabajo y para almacenar datos una vez que este flujo se complete. Para obtener más información, consulte [AUTOTITLE](/actions/using-workflows/storing-workflow-data-as-artifacts).
GitHub Actions también tiene un sistema de almacenamiento en caché que puede usar para almacenar en caché las dependencias para acelerar las ejecuciones de flujo de trabajo. Para más información, consulta [AUTOTITLE](/actions/using-workflows/caching-dependencies-to-speed-up-workflows).
Puede usar la configuración de directiva de GitHub Actions para personalizar el almacenamiento de artefactos de flujo de trabajo, cachés y la retención de registros. Para más información, consulta Aplicación de directivas para GitHub Actions en la empresa.
Su suscripción incluye algo de almacenamiento, pero si agrega almacenamiento adicional, su factura se modificará. Deberías hacer planes para estos costos. Para más información, consulta facturación de GitHub Actions.
Seguimiento del uso
Debe considerar hacer un plan para realizar un seguimiento del uso de su empresa de GitHub Actions, como la frecuencia con la que se ejecutan los flujos de trabajo, el número de ejecuciones que resultan exitosas y fallidas, y qué repositorios usan qué flujos de trabajo.
Puede ver los detalles básicos del uso de almacenamiento y transferencia de datos de GitHub Actions para cada organización de su empresa a través de la configuración de facturación. Para más información, consulta Visualización del uso de productos medidos y licencias.
Nota:
Las métricas de nivel empresarial para GitHub Actions están en versión preliminar pública y están sujetas a cambios.
Puede ver los datos de uso y rendimiento de su empresa en la pestaña "Insights". Estas métricas proporcionan los mismos GitHub Actions datos disponibles en los niveles de repositorio y organización, pero agregados para toda la empresa. Si necesita información más detallada, consulte Visualización de GitHub Actions métricas para su organización o Visualización GitHub Actions de métricas para el repositorio.
Para obtener datos de uso más detallados en cada trabajo o por nivel de flujo de trabajo, puede usar webhooks para suscribirse a información sobre trabajos de flujo de trabajo y ejecuciones de flujo de trabajo. Para más información, consulta Acerca de webhooks.
Planee cómo su empresa pueda pasar la información de estos webhooks a un sistema de archivado de datos y planee cómo habilitará a los equipos para obtener los datos que necesitan del sistema de archivado.