FeaturedNOTICIAS

¿Debería usar acciones de Github para la integración continua (CI)? – CloudSavvy TI


La integración continua es fundamental para cualquier repositorio activo que necesite creación y pruebas de rutina. Github admite canalizaciones de CI en forma de Github Actions: compilaciones que se ejecutan en la nube, automáticamente, con solo una pequeña configuración.

¿Qué es la integración continua?

Si bien algunas bases de código, como algunas aplicaciones web, se pueden implementar directamente desde los archivos de origen, otras requieren procesamiento adicional, compilación y, lo que es más importante, pruebas unitarias. Estas compilaciones pueden ser complicadas e incluso requerir muchos recursos en el caso de lenguajes como C ++.

La integración continua es el proceso de automatización de pruebas y creación de nuevas confirmaciones en el código fuente. Comúnmente, esto se usa con software como Jenkins que se ejecuta en un «servidor de compilación» que manejará la compilación real.

La compilación de código automatizada es un servicio tan útil para los equipos de software que ahora lo ofrecen los proveedores de servicios en la nube, incluido Github, donde se integra a la perfección con el resto de sus servicios.

¿Qué son las acciones de Github?

Las acciones de Github son actividades basadas en la nube que se pueden usar para automatizar su repositorio. Se usan comúnmente para realizar compilaciones automatizadas para nuevas confirmaciones o versiones, lo que puede ser útil para las pruebas de software en curso. Sin embargo, también se pueden usar para la automatización no relacionada con CI, como el procesamiento de problemas y las solicitudes de extracción, ejecutando cron trabajos o activar comandos basados ​​en acciones en su cuenta.

En cuanto a CI, las acciones de Github son bastante útiles. La mayoría de las canalizaciones de CI requieren la configuración de software complicado como Jenkins o el uso de un servicio en la nube específico como AWS CodePipeline. Las acciones de Github son muy simples y solo requieren que confirmes un archivo de configuración .github/workflows/ para habilitar una acción.

Además, Github generalmente puede recopilar el tipo de proyecto que está realizando y ofrecer sugerencias para configuraciones de acción de su biblioteca de ejemplos. Por ejemplo, este proyecto de Java estaba listo y funcionando con compilaciones automatizadas en minutos con algunos ajustes menores para

Puede tener múltiples acciones en el mismo repositorio; por ejemplo, tal vez desee configurar compilaciones automatizadas para cada confirmación en dev rama, pero solo desea compilaciones para cada nueva versión etiquetada en master rama. Puede crear dos archivos YAML separados con diferentes criterios.

Si bien las acciones son muy útiles para ejecutar compilaciones y pruebas, también pueden ejecutar comandos y conectarse con otros servicios, lo que les permite automatizar también la implementación y los procesos de implementación. Por ejemplo, puede tener una acción en release branch toma cada nueva versión etiquetada y la sube a sus servidores para su distribución.

De forma predeterminada, las compilaciones de Github Actions publicarán artefactos de compilación (lo que sea que haya generado el proceso de compilación) en un archivo zip para cada ejecución. Esto funciona bien si solo está ejecutando pruebas, pero si desea realizar una entrega automatizada, también puede configurarlos para publicar automáticamente nuevas versiones o enviar a un registro de paquete/contenedor como NPM o Docker Hub.

La configuración exacta de su repositorio variará según su proceso de compilación, pero Github hace un buen trabajo al proporcionar ejemplos sólidos para comenzar, y la configuración general es básicamente la misma. Si quieres saber más sobre cómo empezar con GH Actions, puedes leer nuestra guía sobre cómo configurarlas.

Precios de las acciones de Github

Afortunadamente, Github tiene el dinero para patrocinar software de código abierto, al igual que Actions. completamente libre para archivos públicos. Puedes usarlos tanto como quieras o archivar tantos artefactos de compilación como quieras; no hay límites estrictos a menos que seas ofensivo, al igual que el resto de Github.

Para repositorios privados, cada cuenta tiene automáticamente 2000 minutos de compilación cada mes, lo cual es muy generoso. Es casi un día y medio de compilación continua, por lo que tendría que hacer algunas compilaciones muy largas o toneladas de confirmaciones para alcanzar ese número. Es más probable que alcance el límite de almacenamiento de 500 MB para las cuentas gratuitas. Sin embargo, si está construyendo sobre cada compromiso, con tiempos de compilación largos y compromisos frecuentes, puede quedarse sin ese número.

Los usuarios de Github Pro ($ 4 por mes) obtienen 3000 minutos y 1 GB de almacenamiento, al igual que las organizaciones que usan el plan Github Team, que cuesta $ 4 por usuario, por mes.

Github Enterprise, que cuesta $ 21 por usuario, por mes, ofrece 50,000 minutos de compilación, o 35 días de compilación consecutivos, lo que le permite ejecutar compilaciones las 24 horas del día, los 7 días de la semana y algo más.

Si cambia a cualquier plan, simplemente se le facturará por los minutos adicionales utilizados. Las tarifas son bastante justas, con 2000 minutos adicionales que cuestan $ 16.

¿Debería usar acciones o su propio servidor de compilación?

logotipo de Jenkins

CI/CD comienza con el monitoreo del control de versiones. Las compilaciones automatizadas generalmente se realizan para cada confirmación o lanzamiento importante, y la mayoría de los sistemas de servidor de compilación independientes, como Jenkins o TeamCity, se integrarán con su git repositorio para proporcionar esta funcionalidad.

Esto hace que la solución CI de Github sea bastante útil en comparación: está integrada directamente en el servicio que ya está usando y es extremadamente simple de instalar y usar. Todo lo que necesita hacer es enviar el archivo de configuración de compilación al suyo .github carpeta y Github lo recogerá y lo ejecutará. Si bien los servicios independientes pueden ser útiles para implementaciones empresariales, para el usuario promedio, la simplicidad de usar Github Actions es más fácil que incluso instalar un servidor de compilación personalizado.

Las acciones de Github también se pueden usar para algo más que compilaciones automatizadas. Admiten todo tipo de automatización de repositorios, incluido el trabajo con propuestas y solicitudes de incorporación de cambios.

Dicho esto, las acciones de Github no son tan completas como ejecutar su propio servidor, y si está ejecutando muchas compilaciones regulares o complicadas, debe intentar configurar un servidor Jenkins. Si ejecuta muchas compilaciones con uso intensivo de CPU, Jenkins también puede ser útil para eso, pero Github Actions también admite el uso de su propio servidor para compilar.

RELACIONADOS: Cómo instalar y usar Jenkins para crear una canalización de CI/CD

TE INTERESA>>  Viral TikTok: Novios contratan al Grupo 5 para su boda y Sorpresa en sus Invitados | Video viral

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba