Guía completa de GitHub Actions para automatizar tus despliegues

Guía completa de GitHub Actions para automatizar tus despliegues en 3 pasos

Github Actions es una plataforma de automatización de flujo de trabajo que permite a los desarrolladores automatizar sus tareas de desarrollo, integración y entrega continua directamente en el flujo de trabajo de Github. Con esta herramienta, los desarrolladores podemos automatizar la construcción, pruebas y despliegue de sus aplicaciones (conocido como CI/CD) directamente en la plataforma de Github.

En este artículo técnico, discutiremos cómo utilizar Github Actions para automatizar el flujo de trabajo de desarrollo de una aplicación y cómo desplegar un sitio web de manera automatizada cada vez que actualizamos nuestro repositorio de GitHub.

Pre-requisitos

  • Cuenta de GitHub.
  • Conocimientos básicos en YAML.

Paso 1: Configuración inicial

Antes de comenzar a usar GitHub Actions, es necesario que actives el servicio en tu repositorio. Para ello, sigue estos pasos:

  1. Entra en tu cuenta de GitHub y navega hasta el repositorio que deseas automatizar.
  2. Haz clic en la pestaña «Actions» en la parte superior del repositorio.
  3. Si es la primera vez que accedes a la pestaña «Actions», se te pedirá que actives el servicio en tu repositorio.
  4. Haz clic en el botón «Set up this workflow yourself» para comenzar a crear tu primer flujo de trabajo.
Empezar Github Actions en tu repositorio

Paso 2: Crear un archivo de flujo de trabajo

Ahora vamos a crear un archivo de flujo de trabajo. Este archivo es el punto de entrada para nuestro flujo de trabajo y contiene todas las instrucciones necesarias para realizar nuestras tareas de automatización.

El archivo de flujo de trabajo se debe crear en la carpeta .github/workflows en el repositorio de Github. Este archivo debe tener una extensión .yml y un nombre descriptivo para que sea fácil de identificar.

Normalmente se suele llama main.yml o igual que tu rama principal que irá a producción.

Aquí hay un ejemplo básico de archivo de flujo de trabajo, en nuestro caso llamado main.yml:

name: Ejemplo de flujo de trabajo

on:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repo
        uses: actions/checkout@v2

      - name: Instalar dependencias
        run: npm install

      - name: Crear paquete
        run: npm run build

Nuestro flujo de trabajo, llamado «Ejemplo de flujo de trabajo», se ejecutará cada vez que se haga un push a la rama main. Este ejemplo consta de una sola tarea «build» que se ejecuta en un sistema operativo Ubuntu. Las tareas de «build» realizan una serie de pasos, incluyendo la instalación de dependencias, ejecución de pruebas y la creación de un paquete.

  • Checkout repo: este paso clona el repositorio en la máquina virtual para que las acciones siguientes puedan acceder al código fuente.
  • Instalar dependencias: ejecuta el comando npm install para instalar las dependencias correspondientes de tu aplicación.
  • Crear paquete: ejecuta el comando build para compilar el código y prepararlo para el despliegue en tu servidor.

Una vez que hayas definido tu flujo de trabajo, puedes activarlo haciendo un commit en la rama principal del repositorio.

Paso 3: Personalizar el flujo de trabajo

Al terminar nuestro archivo con todas las acciones necesarias, podemos personalizar nuestro flujo de trabajo para satisfacer nuestras necesidades específicas. Para ello, Github Actions ofrece una amplia gama de funciones y características que pueden ser personalizadas, como la selección del sistema operativo, la especificación de entornos de prueba, la integración con otros servicios, la notificación de resultados de pruebas, entre otros.

GitHub tiene un marketplace de actions desde donde puedes obtener trabajos ya listos para realizar todo tipo de trabajos, como Node.js, Docker, Deno, Amazon ECS y muchísimos más.

Gracias a estos códigos puedes ahorrarte mucho tiempo de aprendizaje e investigación, yendo directamente al grano con la configuración que necesites para preparar y desplegar tu aplicación.

Lo más recomendable es siempre usar las Actions con más estrellas y leer su documentación.

Conclusión

En este artículo, hemos explicado cómo usar GitHub Actions para crear un flujo de trabajo que compila y prueba el código en respuesta a un push en la rama principal del repositorio. Sin embargo, las posibilidades de GitHub Actions son prácticamente ilimitadas, y puedes crear flujos de trabajo más complejos y personalizados según tus necesidades.

Si estás interesado en aprender más sobre GitHub Actions, te recomendamos revisar la documentación oficial de GitHub, que contiene una gran cantidad de información y ejemplos para ayudarte a comenzar.

Automatiza tus despliegues de Github Actions con el poder de un Cloud Server en DonWeb Cloud, elige la configuración que se ajuste a tus necesidades.

Gabriel Cánepa
Gabriel Cánepa

Gabriel trabaja actualmente como desarrollador full-stack en Scalar, una firma que se dedica a hacer valuaciones de empresas. Es Administrador de Sistemas certificado por la Fundación Linux y previamente ha escrito un gran número de artículos y contenidos técnicos sobre el tema para: DigitalOcean, Linode, Carrera Linux Argentina y Tecmint.

Tiene una certificación en programación de la Universidad de Brigham Young-Idaho, y está completando las carreras de programador y analista de sistemas en la Universidad Nacional de Villa Mercedes (UNViMe).

En su tiempo libre, Gabriel disfruta leyendo libros de Stephen R. Covey, tocando piano y guitarra, y enseñando conocimientos de programación a su dos hijas.