Que es Github Actions?
Es una característica ofrecida por GitHub que permite a los desarrolladores a crear workflows que pueden ser usados para compilar, probar e implementar código, nos da la posibilidad de crear flujos de CI/CD dentro de un repositorio de Git.
Por lo menos eso dice al buscar en google.
Contexto
Debo reconocer que no soy muy actualizado en cuanto a las últimas tecnologías (o más bien espero que estas sean aceptadas por la comunidad) para poder probarlas.
GitHub Actions no es la excepción y aunque lo tengo integrado en mi sitio web personal, para mi trabajo diario suelo ocupar un despliegue continuo con Docker y Kubernetes (o en un pipeline de Jenkins).
Inicio rápido para acciones de GitHub
En el link anterior podrás encontrar una breve introducción y lo que voy a comentar no es más que lo mismo que la documentación oficial que también esta en español por lo cual te invito a leerla.
Introducción
Solo necesita un repositorio de GitHub para crear y ejecutar un flujo de trabajo de acciones de GitHub. En esta guía, agregará un flujo de trabajo que demuestra algunas de las funciones esenciales de GitHub Actions.
El siguiente ejemplo muestra cómo se pueden activar automáticamente los trabajos de GitHub Actions, dónde se ejecutan y cómo pueden interactuar con el código en su repositorio.
Creando tu primer flujo de trabajo
- Cree un
.github/workflows
directorio en su repositorio en GitHub si este directorio aún no existe. - En el
.github/workflows
directorio, cree un archivo llamadogithub-actions-nameactios.yml
. Para obtener más información, consulte " Creación de nuevos archivos ". - Copie los siguientes contenidos YAML en el
github-actions-nameactios.yml
Acá me detendré un momento para mostrar mi propio flujo y la problemática a resolver para que ustedes también puedan crear sus propias integraciones.
Caso 1 App React
Mi sitio web es una app react desplegada en netlify
Dejo el enlace pero aquí, lo que necesitaba era que al momento de hacer un pull request y un push de mis cambios se ejecutara test automatizados y una vez completados realizara el deploy de los cambios en el servidor de netlify
Para lo anterior seguí la siguiente estructura en el archivo .github/workflows/netlify.js.yml
Nota: Ya existen actions predifinidas para distintas tipos de casos las cuales puedes ir viendo en el marketplace o puedes crear una propia
Caso 2 Copy FTP wordpress
Hace poco también tuve que copiar archivos diréctamenete a un servidor VPS de digitalocean, y también ocupe una actions para realizar este proceso al momento de hacer push a mis cambios.
Como vez es muy fácil crear tus propias acciones y puedes hacer lo que se te ocurra automatizar y desplegar con tu código, en este caso solo reemplazo la carpeta themes cada vez que se hace un push a una Branch X.