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:
- Entra en tu cuenta de GitHub y navega hasta el repositorio que deseas automatizar.
- Haz clic en la pestaña «Actions» en la parte superior del repositorio.
- Si es la primera vez que accedes a la pestaña «Actions», se te pedirá que actives el servicio en tu repositorio.
- Haz clic en el botón «Set up this workflow yourself» para comenzar a crear tu primer flujo de trabajo.
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 comandonpm install
para instalar las dependencias correspondientes de tu aplicación.Crear paquete
: ejecuta el comandobuild
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.