Skip to main content
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.

Intruducir las GitHub Actions a tu empresa

Puedes planear cómo implementar las GitHub Actions en tu empresa.

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, tu empresa puede automatizar, personalizar y ejecutar tus flujos de trabajo de desarrollo de software como las pruebas y despliegues. Para obtener más información, consulta la sección "Acerca de GitHub Actions para empresas".

Diagrama de los jobs que se ejecutan en los ejecutores auto-hospedados

Antes de que incluyas las GitHub Actions en una empresa grande, primero necesitas planear tu adopción y tomar las decisiones de cómo tu empresa utilizará GitHub Actions para apoyar de la mejor forma a tus necesidades únicas.

Normatividad y cumplimiento

Deberías crear un plan que rija el uso de las GitHub Actions en tu empersa y logre tus obligaciones de cumplimiento.

Determina qué acciones se permitirán para que las utilicen tus desarrolladores. Primero, decide si habilitarás el acceso a las acciones desde fuera de tu instancia. Si los usuarios de tu empresa necesitan acceso a otras acciones desde GitHub.com o GitHub Marketplace, hay algunas cuantas opciones de configuración. Para obtener más información, consulta la sección "Acerca de utilizar acciones en tu empresa".

Después, decide si permitirás acciones de terceros que no haya creado GitHub. Puedes configurar las acciones que se permitirán para ejecutar a nivel de repositorio, organización y empresa y elegir únicamente las acciones que haya creado GitHub. Si permites acciones de terceros, puedes limitar las acciones permitidas a aquellas de los creadores verificados o una lista de acciones específicos. Para obtener más información, consulta las secciones "Administrar los ajustes de GitHub Actions para un repositorio", "Inhabilitar o limitar las GitHub Actions para tu organización" y "Requerir políticas para las GitHub Actions en tu empresa".

Captura de pantalla de las políticas de GitHub Actions

Puedes acceder a la información sobre la actividad relacionada con las GitHub Actions en las bitácoras de auditoría de tu empresa. Si tus necesidades de negocio requieren que retengas bitácoras de auditoría por más de seis meses, planea cómo exportarás y almacenarás estos datos fuera de GitHub. Para obtener más información, consulta las secciones "Reenvío de bitácoras".

Entradas de la bitácora de auditoría

Seguridad

Deberías planear tu enfoque sobre el fortalecimiento de seguridad para las GitHub Actions.

Fortalecer la seguridad de los flujos de trabajo y repositorios individuales

Haz un plan para requerir buenas prácticas de seguridad para las personas que utilizan las características de GitHub Actions dentro de tu empresa. Para obtener más información sobre estas prácticas, consulta la sección "Fortalecimiento de seguridad para las GitHub Actions".

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, consulta la sección de "Innersourcing".

Asegurar el acceso a los secretos y recursos de despliegue

Deberías planear dónde almacenarás tus secretos. Te recomendamos almacenar secretos en GitHub, pero podrías elegir almacenarlos en un proveedor de servicios en la nube.

En GitHub, puedes almacenar secretos a nivel de repositorio u 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 obtener más información, consulta la sección "Secretos cifrados".

Captura de pantalla de una lista de secretos Deberías considerar agregar protección manual para las aprobaciones en el caso de los ambientes sensibles para que los flujos de trabajo deban aprobarse antes de obtener acceso a los secretos de los ambientes. Para obtener más información, consulta la sección "Utilizar ambientes para despliegues".

Consideraciones de seguridad para las acciones de terceros

Existe un riesgo significativo en suministrar acciones desde 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 obtener más información, consulta la sección "Utilizar acciones de terceros".

Innersourcing

Piensa cómo tu empresa puede utilizar características de GitHub Actions para la automatización de innersource. El innersourcing es una forma de incorporar los beneficios de las metodologías de código abierto en tu ciclo de desarrollo de software interno. Para obtener más información, consulta la sección Una introducción al innersource en los recursos de GitHub.

Nota: los flujos de trabajo reutilizables se encuentran actualmente en beta y están sujetos a cambios.

Con flujos de trabajo reutilizables, tu equipo puede llamar a un flujo de trabajo desde otro flujo de trabajo, evitando la 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 obtener más información, consulta la sección "Reutilizar flujos de trabajo".

Para proporcionar un lugar inicial para que los desarrolladores creen flujos de trabajo nuevos, puedes utilizar flujos de trabajo inicial. 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 obtener más información, consulta la sección "Crear flujos de trabajo iniciales para tu organización".

Cada vez que tus desarrolladores de flujos de trabajo quieran utilizar una acción que se almacene en un repositorio privado, deben configurar dicho flujo de trabajo para que primero clone el repositorio. Para reducir la cantidad de repositorios que deben clonarse, considera agrupar las acciones que se utilizan más comúnmente en un solo repositorio. Para obtener más información, consulta la sección "Acerca de las acciones personalizadas".

Administrar recursos

Debes planear cómo administrarás los recursos requeridos para utilizar las GitHub Actions.

Requisitos de hardware

Podrías necesitar mejorar los recursos de CPU y de memoria para que tu instancia de GitHub Enterprise Server maneje la carga desde GitHub Actions sin causar una pérdida de rendimiento. Para obtener más información, consulta la sección "Iniciar con las GitHub Actions para GitHub Enterprise Server".

Ejecutores

Los flujos de trabajo de las GitHub Actions requieren ejecutores. Necesitarás hospedar tus propios ejecutores instalando la aplicación de ejecutores auto-hospedados de GitHub Actions en tus propias máquinas. Para obtener más información, consulta la sección "Acerca de los ejecutores auto-hospedados".

Decide si quieres utilizar máquinas físicas, virtuales o contenedores para tus ejecutores auto-hospedados. Las máquinas físicas conservarán los restos de los jobs anteriores, así como las máquinas virtuales, a menos de que utilices una imagen nueva para cada job o que limpies las máquinas después de cada ejecución de un job. Si eliges los contenedores, debes estar consciente de que la actualización automática del ejecutor apagará al 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 auto-hospedado a un repositorio individual o puedes hacerlo disponible para toda una organización en 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 obtener más información, consulta las secciones "Agregar ejecutores auto-hospedados" y "Administrar el acceso a los ejecutores auto-hospedados utilizando grupos".

Debes considerar utilizar el autoescalamiento para incrementar o decrementar automáticamente la cantidad de ejecutores auto-hospedados. Para obtener más información, consulta la sección "Autoescalar con ejecutores auto-hospedados".

Finalmente, deberías considerar el fortalecimiento de seguridad para los ejecutores auto-hospedados. Para obtener más información, consulta la sección "Fortalecimiento de seguridad para las GitHub Actions".

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, consulta la sección "Almacenar datos de flujo de trabajo como artefactos".

Debes configurar el almacenamiento de blobs externo para los artefactos de flujos de trabajo y otras bitácoras de flujo de trabajo. Decide qué proveedor de almacenamiento compatible utilizará tu empresa. Para obtener más información, consulta la sección "Iniciar con las GitHub Actions para GitHub Enterprise Server".

Puedes utilizar los ajustes de política para que GitHub Actions personalice el almacenamiento de los artefactos de flujo de trabajo y retención de bitácoras. Para obtener más información, consulta la sección "Requerir políticas para las GitHub Actions en tu empresa".

Rastrear el uso

Debes considerar hacer un plan para rastrear el uso que tu empresa tiene para las GitHub Actions, tal como qué tan a menudo se ejecutan los flujos de trabajo, cuántas de estas ejecuciones están pasando y fallando y qué repositorios están utilizando cuáles flujos de trabajo.

Puedes utilizar webhooks para suscribirte a la información sobre los jobs y las ejecuciones de los flujos de trabajo. Para obtener más información, consulta la sección "Acerca de los webhooks".

Haz un plan de cómo tu empresa podrá pasar la información de estos webhooks a un sistema para archivar datos. Puedes considerar utilizar "CEDAR.GitHub.Collector", una herramienta de código abierto que recolecta y procesa datos de webhook desde GitHub. Para obtener más información, consulta el repositorio Microsoft/CEDAR.GitHub.Collector.

También deberías planear cómo habilitarás a tus equipos para obtener los datos que necesitan desde tu sistema de archivado.