GitHub Actions es una pla­ta­fo­r­ma de Co­n­ti­nuous In­te­gra­tion (CI) y Co­n­ti­nuous Delivery (CD), que te permite au­to­ma­ti­zar varias acciones. Con ella, dejas de preo­cu­par­te pe­r­so­na­l­me­n­te de las tareas re­pe­ti­ti­vas y puedes dedicar más tiempo a tu proyecto.

¿Qué es GitHub Actions?

GitHub Actions es la pla­ta­fo­r­ma de Co­n­ti­nuous In­te­gra­tion y Co­n­ti­nuous Delivery de la empresa GitHub. Permite a los usuarios au­to­ma­ti­zar re­po­si­to­rios y crear los de­no­mi­na­dos GitHub Workflows (flujos de trabajo). Por ejemplo, al ac­tua­li­zar tu re­po­si­to­rio en GitHub, se compila el nuevo código y au­to­má­ti­ca­me­n­te se ejecutan pruebas unitarias sobre co­m­po­ne­n­tes in­di­vi­dua­les de tu proyecto.

¿Cómo funciona GitHub Actions?

GitHub Actions trabaja a partir de tus propios GitHub Workflows. Dentro de los flujos de trabajo, reacciona ante diversos eventos, como los git push, y des­en­ca­de­na la acción co­rre­s­po­n­die­n­te a ese evento. El flujo de trabajo en sí consta de di­fe­re­n­tes “Jobs”, cada uno de los cuales se ejecuta en su propia máquina virtual o dentro de un co­n­te­ne­dor. GitHub admite máquinas virtuales de Linux, Windows y macOS.

Consejo

Deploy Now de IONOS es la mejor forma de publicar tus proyectos y páginas web de forma inmediata. Puedes pe­r­so­na­li­zar tus GitHub Workflows au­to­ma­ti­za­dos en todo momento.

Los co­m­po­ne­n­tes más im­po­r­ta­n­tes de GitHub Actions

GitHub Workflow (flujo de trabajo) es el elemento más im­po­r­ta­n­te de Github Actions. El flujo de trabajo en realidad no es más que un archivo YAML en el que se definen las acciones que se deben ejecutar cuando ocurren de­te­r­mi­na­dos eventos. Los eventos no son los únicos que pueden activar flujos de trabajo, puedes activar un flujo de trabajo ma­nua­l­me­n­te o incluso programar de­te­r­mi­na­das horas en las que se debe ejecutar. Cada GitHub Workflow inicia uno o más trabajos (jobs). No tienes que limitarte a un único flujo de trabajo por re­po­si­to­rio, sino que puedes definir tantos flujos de trabajo como quieras para tu re­po­si­to­rio de GitHub.

Eventos

Como ya se ha me­n­cio­na­do, los flujos de trabajo suelen activarse por eventos. Los eventos son acciones es­pe­cí­fi­cas de tu re­po­si­to­rio de GitHub que des­en­ca­de­nan la ejecución de un flujo de trabajo. Un ejemplo habitual de un evento de GitHub es un pull request, pero hay una infinidad más de eventos que puedes utilizar. Puedes consultar una lista completa con ejemplos de eventos en la do­cu­me­n­ta­ción de GitHub.

Acciones

Las acciones son, por supuesto, fu­n­da­me­n­ta­les para GitHub Actions. Una acción es una apli­ca­ción in­di­vi­dual de GitHub que realiza tareas complejas que se ejecutan con fre­cue­n­cia. Se pueden utilizar de forma similar a como se utilizan las funciones en los archivos de los flujos de trabajo para evitar repetir código. Si no quieres escribir tus propias GitHub Actions, puedes encontrar una serie de acciones pre­de­fi­ni­das en GitHub Ma­r­ke­t­pla­ce.

Pasos

Los pasos (steps) son tareas in­di­vi­dua­les dentro de trabajos. Son scripts de shell que se ejecutan o una acción que se inicia. Los pasos se procesan en el orden en que están definidos. Además, los di­fe­re­n­tes pasos se basan los unos en los otros y pueden compartir datos entre sí.

Trabajos

Un trabajo (job) es bá­si­ca­me­n­te una secuencia de pasos que se ejecuta en un ejecutor (runner). Aunque los trabajos son in­de­pe­n­die­n­tes entre sí, también puedes definir de­pe­n­de­n­cias entre ellos de forma manual. De esta forma, un trabajo tiene que esperar a que terminen los otros trabajos de los que depende, in­te­rru­m­pie­n­do así la forma habitual de ejecutar distintos trabajos pa­ra­le­la­me­n­te.

Ejecutor

Un ejecutor (runner) es el servidor en el que se ejecutan tus flujos de trabajo. Cada ejecutor solo puede ejecutar un único trabajo a la vez. Por lo tanto, los eje­cu­to­res son ese­n­cia­l­me­n­te máquinas virtuales. Los sistemas ope­ra­ti­vos co­m­pa­ti­bles con GitHub son Linux Ubuntu, Windows y macOS. Si necesitas un sistema operativo diferente para probar tus proyectos, puedes, por supuesto, hacer hosting de tu propio ejecutor.

Ventajas de GitHub Actions

Además de que puedes integrar GitHub Actions en tu trabajo de GitHub sin problemas, el servicio de Co­n­ti­nuous In­te­gra­tion ofrece una serie de ventajas adi­cio­na­les. Por ejemplo, puedes utilizar pla­n­ti­llas pre­de­fi­ni­das y no tienes por qué utilizar tus propios flujos de trabajo. Además, el servicio GitHub es co­m­ple­ta­me­n­te gratuito para tus re­po­si­to­rios públicos. Para re­po­si­to­rios privados, GitHub te facilita 2000 minutos al mes con hosting de flujos de trabajo.

Ir al menú principal