GitHub Actions se ha convertido en el punto de partida por defecto de muchos equipos que necesitan poner en marcha rápidamente CI o CD en un ambiente totalmente nuevo. Entre otras cosas, puede soportar flujos más complejos y llamar a otras acciones en acciones compuestas. A pesar de que el ecosistema GitHub Marketplace sigue creciendo, nosotros aún recomendamos tomar precauciones al otorgar acceso a sus pipelines en ejecución por parte de GitHub Actions creadas por terceros. Recomendamos seguir los consejos de GitHub sobre security hardening para evitar compartir secretos de manera insegura. Sin embargo, la conveniencia de crear un build workflow directamente en GitHub que está junto a su código fuente combinado con la habilidad de correr las GitHub Actions localmente, usando una herramienta de código abierto como act, es una opción convincente que ha simplificado la configuración y onboarding de nuestros equipos.
GitHub Actions ha crecido considerablemente el año pasado. Ha demostrado que puede asumir flujos de trabajo más complejos y llamar a otras acciones en acciones compuestas, entre otras cosas. Sin embargo, todavía tiene algunas deficiencias, como su incapacidad para volver a activar un solo trabajo de un flujo de trabajo. Aunque el ecosistema en el GitHub Marketplace tiene sus ventajas obvias, al dar acceso a las Acciones de GitHub de terceros a tu pipeline de construcción se corre el riesgo de compartir secretos de forma insegura (recomendamos seguir los consejos de GitHub sobre security hardening). Sin embargo, la comodidad de crear tu flujo de trabajo de compilación directamente en GitHub junto a tu código fuente, combinada con la capacidad de ejecutar las Acciones de GitHub localmente utilizando herramientas de código abierto como act es una opción convincente que ha facilitado la configuración y la incorporación de nuestros equipos.
A pesar de nuestras advertencias la última vez que lo cubrimos, hemos visto entusiasmo continuo por GitHub Actions. Lo que dijimos antes sigue siendo cierto: GitHub Actions aún no es un reemplazo completamente establecido para flujos de CI/CD complejos. La herramienta no puede, por ejemplo: re-disparar una tarea simple de un flujo, llamar a otras acciones dentro de una acción compuesta, o soportar una librería compartida. Adicionalmente, mientras que el ecosistema en el GitHub Marketplace ofrece ventajas obvias, entregarle acceso a tus build pipelines a GitHub Actions de terceros, te expone al riesgo de compartir secretos de formas inseguras (recomendamos seguir estos consejos de GitHub sobre security hardening). A pesar de estas preocupaciones, la conveniencia de poder crear los flujos de trabajo directamente en GitHub junto al código fuente, es una opción convincente para algunos equipos, y además, act te permite correr GitHub Actions localmente. Como siempre, recomendamos un análisis imparcial de las desventajas, sin embargo, algunos de nuestros equipos están contentos con la simplicidad de GitHub Actions.
Los servidores de integración contínua (CI) y las herramientas de compilación son algunos de los elementos más antiguos y más usados de nuestro kit. Cubren toda la gama, desde simples servicios alojados en la nube hasta complejos servidores de pipelines definidos por código soportados por flotas de agentes de compilación. Dada nuestra experiencia y la amplia gama de opciones disponibles, inicialmente estábamos escépticos cuando GitHub Actions fue presentado como otro mecanismo para administrar los procesos de compilación e integración. Pero la oportunidad para que las desarrolladoras comiencen con algo pequeño y personalicen fácilmente el comportamiento significa que GitHub Actions se está volviendo la opción predeterminada para los proyectos más pequeños. Es difícil discutir la conveniencia de tener la herramienta de compilación integrada directamente en el repositorio de código fuente. Ha surgido una comunidad entusiasta en torno a esta función y eso significa que existe una amplia gama de herramientas y flujos de trabajo aportados por los usuarios para comenzar. Los proveedores de herramientas también se están incorporando a través del GitHub Marketplace. Sin embargo, recomendamos proceder con cautela. Aunque el código y el historial de Git se pueden exportar a servicios alternos, no se puede hacer lo mismo con un flujo de trabajo de desarrollo basado en GitHub Actions. Además, es necesario usar el mejor criterio para determinar cuándo un proyecto es lo suficientemente grande o complejo como para justificar una herramienta de pipelines con soporte independiente. Sin embargo, para comenzar a trabajar rápidamente en proyectos más pequeños, vale la pena considerar GitHub Actions y el ecosistema que está creciendo a su alrededor.