Ir al contenido
learn

GitHub Actions — Misión

Este sitio se compila, se prueba y se despliega con GitHub Actions: un despliegue de Pages en cada push, y una CI que compila los ejemplos Rust, Java y C# de los cursos en Linux, Windows y macOS. Escribí esos workflows copiando y ajustando. Quiero entender qué hace cada línea, por qué falla una ejecución y cómo hacerla rápida y segura.

Sabes compilar y probar un proyecto .NET o Java desde la línea de comandos (dotnet test, mvn verify), y conoces Git. Puede que hayas usado otro sistema de CI — Azure Pipelines, Jenkins, GitLab CI — pero no es necesario.

  • leer cualquier archivo de workflow y decir cuándo se ejecuta, dónde y en qué orden;
  • compilar y probar .NET y Java en tres sistemas operativos con una matrix y caches;
  • elegir los disparadores y filtros adecuados, y evitar ejecuciones que se acumulan o que nunca arrancan;
  • pasar datos entre steps y entre jobs, y controlar lo que ocurre después de un fallo;
  • reutilizar workflows y actions en lugar de copiarlos;
  • asegurar un workflow: permisos del token, secretos, actions fijadas, OIDC;
  • desplegar un sitio estático en GitHub Pages;
  • diagnosticar una ejecución fallida a partir de sus logs.
# Lección Si conoces Azure Pipelines
1 Primer workflow pipeline, stage, job, step, agente
2 Compilar y probar .NET y Java strategy: matrix, UseDotNet@2, Cache@2
3 Disparadores, filtros y concurrencia trigger, pr, schedules, parámetros
4 Expresiones, contextos y salidas $[ ], variables, variables de salida, condition
5 Cachés y artefactos Cache@2, PublishPipelineArtifact@1
6 Workflows reutilizables y acciones compuestas plantillas de step, de job y de stage
7 Seguridad: permisos, secretos, fijación de versiones, OIDC conexiones de servicio, federación de identidades de carga de trabajo
8 Desplegar en GitHub Pages entornos, aprobaciones
9 Depurar ejecuciones system.debug, logs de diagnóstico, volver a ejecutar los jobs fallidos
10 Escribir tu propia acción tareas personalizadas, jobs de contenedor
— Diario