Elena Canorea
Communications Lead
GitHub es una de las plataformas más utilizadas por los desarrolladores para hosting de repositorios almacenados en la nube. La Integración Continua (IC) es una práctica que requiere de ir añadiendo frecuentemente nuevo código compartido a un repositorio para detectar errores en el menor tiempo posible. Por ello, GitHub propuso, no solo alojar nuestro código en sus repositorios, sino automatizar los pasos de compilación y test de nuestros proyectos.
GitHub fue adquirido por Microsoft, y desde entonces han ido añadiendo novedades y funcionalidades nuevas, como GitHub Actions, cuya función es la de facilitar la ejecución de código.
GitHub es una plataforma creada para alojar el código de las aplicaciones y herramientas de cualquier desarrollador para facilitar la colaboración entre la comunidad y permitir la descarga del código de otros.
Fue adquirida en 2018 por Microsoft y utiliza el sistema de control de versiones Git diseñado por Linus Torvalds. Es una de las más usadas en todo el mundo por los desarrolladores gracias a su simplicidad y su característica de ser multiplataforma.
GitHub permite a los desarrolladores alojar proyectos creando repositorios de forma gratuita. Además, ofrece una serie de herramientas propias como:
GitHub Actions es una herramienta que permite reducir la cadena de acciones necesaria para la ejecución de código, mediante la creación de un de flujo de trabajo encargado del Pipeline. Siendo configurable para que GitHub reaccione a ciertos eventos de forma automática según nuestras preferencias.
Por lo tanto, GitHub Actions permite crear workflows que se puedan utilizar para compilar, testear y desplegar código. Además, da la posibilidad de crear flujos de integración y despliegue continuo dentro de nuestro repositorio.
Actions utiliza paquetes de códigos en los contenedores de Docker, los cuales se ejecutan en los servidores de GitHub y que, a su vez, son compatibles con cualquier lenguaje de programación. Esto hace que puedan funcionar con servidores locales y nubes públicas.
Para entender mejor cómo funciona y de qué partes o acciones se compone, vamos a definir los conceptos básicos de GitHub Actions:
Se compone de un conjunto de tareas para poder ejecutar un trabajo. Estos pueden ejecutar comandos o acciones.
Es un conjunto de pasos que se ejecutan en runner de nuestro proceso. Los trabajos pueden ejecutarse de forma independiente o secuencial dependiendo de si el éxito de nuestro trabajo depende del anterior.
Es un procedimiento automatizado compuesto por uno o varios trabajos que se añade a un repositorio y puede ser activado por un evento. Se definen mediante archivos YAML y con él se puede hacer el build, test, package, reléase o deploy de un proyecto.
Son actividades específicas que desencadenan la ejecución de un flujo de trabajo.
Es el bloque de construcción más pequeño de un flujo de trabajo y se pueden combinar como pasos para crear un trabajo.
Es una máquina con la aplicación de GitHub Actions ya instalada, cuya función es esperar a que los trabajo estén disponibles para luego poder ejecutar las acciones e informar del progreso y los resultados.
Una de las características que definen a GitHub Actions es la flexibilidad que proporciona, lo que se traduce en la apertura a un gran abanico de posibilidades en el que los desarrolladores podrán dar rienda suelta a su creatividad. Estas son otras de las ventajas que ofrece GitHub Actions:
La opción de Actions está completamente integrada en GitHub, por lo que no requiere un site externo. Esto significa que podemos administrar todo en el mismo lugar donde tengamos las funciones relacionadas con el repositorio.
La plataforma proporciona muchas plantillas para todo tipo de configuraciones de CI (Integración continua), lo que facilita mucho el inicio del trabajo. Además, también tienes la opción de crear tus propias plantillas para, posteriormente, publicarlas en GitHub Marketplace.
Actions permite probar configuraciones de varios contenedores una vez que hemos añadido compatibilidad para Docker y archivos de composición a nuestro flujo de trabajo.
Esta funcionalidad es gratis para todos los repositorios de código abierto e incluyen 2000 minutos al mes de compilación sin coste para los repositorios privados. Si, por el contrario, esto no es suficiente para tus necesidades, puedes elegir otro plan de forma sencilla.
Puestos en situación, os recomendamos saltar al post escrito por nuestro compañero Luis Fraile «Empezando a trabajar con GitHub Actions«
Elena Canorea
Communications Lead