🌐 Disponible en: English | Català
Bienvenido a esta guía rápida y visual sobre GitHub Actions. Aquí encontrarás los conceptos clave y ejemplos prácticos para crear y optimizar tus propios workflows. Ideal para tener siempre a mano y consultar en tu día a día como desarrollador. 😎
name: CI/CD Pipeline
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout del código
uses: actions/checkout@v4
- name: Saludo inicial
run: echo "¡Hola, mundo!"
push
🚀: Ejecuta el workflow al hacer push a una rama.pull_request
🔀: Se activa cuando se abre o actualiza un Pull Request.schedule
⏰: Permite programar tareas automáticas (cron jobs).workflow_dispatch
🖱️: Permite lanzar el workflow manualmente desde la interfaz de GitHub.
actions/checkout@v4
: Clona el repositorio en el runner.actions/setup-node@v4
: Configura el entorno de Node.js.actions/upload-artifact@v4
: Sube artefactos generados durante el workflow.actions/download-artifact@v4
: Descarga artefactos de otros jobs.
${{ github.ref }}
: Referencia a la rama o tag que disparó el workflow.${{ secrets.MI_SECRETO }}
: Acceso seguro a secretos definidos en el repositorio.
Ejecuta tu workflow en diferentes versiones o plataformas de forma paralela:
strategy:
matrix:
node-version: [14, 16, 18]
Puedes reutilizar workflows con workflow_call
para mantener tu configuración DRY:
on:
workflow_call:
inputs:
nombre:
required: true
type: string
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Instalar dependencias
run: npm install
- name: Ejecutar tests
run: npm test
- Utiliza
needs:
para definir dependencias entre jobs y controlar el flujo de ejecución. - Usa la condición
if:
para ejecutar pasos o jobs solo bajo ciertas circunstancias. - Los artefactos son útiles para compartir archivos entre jobs o etapas.
- Gestiona tus secretos siempre desde la configuración de GitHub, nunca los subas al repositorio.
- Divide y vencerás: Separa los workflows por propósito (deploy, test, lint, etc.) para facilitar el mantenimiento.
- Nombra tus jobs y pasos de forma descriptiva: Ayuda a entender rápidamente qué hace cada parte del workflow.
- Reutiliza código: Usa acciones y workflows reutilizables para evitar duplicidad.
- Mantén tus workflows actualizados: Revisa periódicamente las versiones de las acciones que utilizas.
- Aprovecha las matrices: Úsalas para probar tu código en diferentes entornos o versiones de dependencias.
- Documenta tus workflows: Añade comentarios útiles para otros desarrolladores (¡o para ti en el futuro!).
- Usa solo acciones de fuentes confiables: Prefiere acciones oficiales o revisa el código de acciones de terceros antes de usarlas.
- Fija versiones específicas: Utiliza tags de versión (
@v4.0.0
) en vez de@master
o@main
para evitar cambios inesperados. - Minimiza los permisos: Configura los permisos del workflow y de los tokens (
GITHUB_TOKEN
) al mínimo necesario. - No expongas secretos: Nunca uses
echo
para mostrar secretos o variables sensibles en los logs. - Revisa los artefactos: No descargues ni ejecutes artefactos de fuentes no confiables.
- Deshabilita workflows innecesarios: Si un workflow ya no se usa, elimínalo o desactívalo.
- Documentación oficial de GitHub Actions
- Guía de introducción a GitHub Actions
- Marketplace de GitHub Actions
- Expresiones y sintaxis en workflows
- Seguridad en GitHub Actions
Esta Cheat Sheet está pensada para ser una referencia rápida. Si necesitas profundizar, consulta los enlaces anteriores para obtener toda la información oficial y actualizada sobre GitHub Actions.