14 módulos74 lecciones~8h 9min

GitHub Actions desde Cero

CI/CD nativo de GitHub: workflows, jobs, secrets, OIDC, reusable workflows, seguridad de la supply chain y el pipeline completo de tallerdigital.

Temario del curso

1

Fundamentos y contexto

0 / 5 lecciones

1
Qué es CI/CD y qué problema resuelve3 min
2
Qué es GitHub Actions y cómo se integra con tu repositorio3 min
3
GitHub Actions vs Jenkins: cuándo tiene sentido cada uno4 min
4
Anatomía de un workflow: eventos, jobs, steps4 min
5
El proyecto del curso: CI/CD completo para tallerdigital5 min
2

Tu primer workflow

0 / 5 lecciones

1
La carpeta .github/workflows: dónde vive todo5 min
2
Tu primer workflow: hola mundo en GitHub Actions7 min
3
Triggers básicos: push y pull_request11 min
4
Runners hospedados: ubuntu-latest, y por qué a veces conviene fijar la versión8 min
5
Ver la corrida en la pestaña Actions: jobs, steps y logs en vivo7 min
3

Steps y actions

0 / 6 lecciones

1
uses vs run: las dos formas de un step6 min
2
actions/checkout: la action más usada de todas, y qué hace en realidad4 min
3
actions/setup-node y el ecosistema de actions setup-*7 min
4
El Marketplace de actions: cómo evaluar una antes de confiar en ella6 min
5
Contexto y expresiones: github., env., secrets. y la sintaxis ${{ }}7 min
6
Outputs: pasar un valor de un step a otro8 min
4

Triggers a fondo

0 / 5 lecciones

1
Filtros de branches y paths: no todo push necesita correr todo8 min
2
workflow_dispatch: disparo manual con inputs6 min
3
schedule: corridas programadas con sintaxis cron7 min
4
Otros eventos: release, issues, issue_comment9 min
5
Práctica: un workflow con múltiples triggers para tallerdigital6 min
5

Jobs, dependencias y matrix

0 / 6 lecciones

1
Múltiples jobs: corren en paralelo por defecto6 min
2
needs: dependencias entre jobs6 min
3
Matrix builds: una definición, muchas corridas6 min
4
include, exclude y fail-fast dentro de una matrix7 min
5
concurrency: cancelar corridas duplicadas del mismo PR8 min
6
Jobs y steps condicionales con if7 min
6

GITHUB_TOKEN y permisos

0 / 5 lecciones

1
Qué es GITHUB_TOKEN y de dónde sale, sin que lo configures7 min
2
Permisos granulares: contents, pull-requests, id-token y más7 min
3
Por qué el default de GITHUB_TOKEN es read-only desde 20234 min
4
Mínimo privilegio: permissions: {} a nivel workflow, ampliar solo por job6 min
5
Práctica: comentar automáticamente en un PR usando GITHUB_TOKEN7 min
7

Secrets y Environments

0 / 6 lecciones

1
Repository secrets: dónde vive una contraseña en GitHub Actions5 min
2
Environments: staging, production, y protection rules (required reviewers)4 min
3
El problema de los secrets de larga duración en un workflow4 min
4
OIDC: autenticarte con AWS/Azure sin guardar ninguna credencial5 min
5
Práctica: configurar OIDC hacia AWS para el deploy de tallerdigital5 min
6
Organization secrets: compartir un secreto entre varios repos4 min
8

Caching y artifacts

0 / 5 lecciones

1
Por qué cachear dependencias: el costo real de un npm install repetido5 min
2
actions/cache: la forma genérica de cachear cualquier carpeta7 min
3
Caching integrado: el parámetro cache en setup-node y setup-python9 min
4
Artifacts: pasar archivos entre jobs con upload/download-artifact6 min
5
El cambio de inmutabilidad en artifacts v4, y el gotcha en matrix builds10 min
9

Reusable workflows y composite actions

0 / 6 lecciones

1
Por qué copiar y pegar YAML entre workflows no escala4 min
2
Composite actions: reusar una secuencia de pasos dentro de un job8 min
3
Reusable workflows: reusar un pipeline completo con workflow_call8 min
4
Inputs, outputs y secrets tipados en un reusable workflow11 min
5
Cuándo usar cada uno: la regla práctica6 min
6
Práctica: el reusable workflow de test+build para tallerdigital9 min
10

Seguridad de la supply chain

0 / 5 lecciones

1
El problema de confiar en un tag mutable como @v49 min
2
Fijar una action por SHA completo, y por qué eso sí es confiable10 min
3
Dependabot: mantener actualizados los SHAs fijados, sin hacerlo a mano6 min
4
Artifact attestations: procedencia verificable de lo que construiste9 min
5
Checklist de seguridad de supply chain para tallerdigital6 min
11

Testing y calidad en CI

0 / 5 lecciones

1
Correr tests automáticamente en cada push y cada PR6 min
2
Linters y formateo como status check, no como sugerencia7 min
3
Branch protection: exigir que un status check pase antes de mergear5 min
4
Comentarios automáticos con los resultados de CI en el PR9 min
5
Práctica: el pipeline de calidad de tallerdigital, de punta a punta6 min
12

Build y deploy de contenedores

0 / 5 lecciones

1
Construir una imagen Docker dentro de un workflow7 min
2
GitHub Container Registry (GHCR): publicar la imagen ahí mismo6 min
3
Tagging de imágenes: por SHA de commit y por versión semántica8 min
4
Desplegar hacia un servidor por SSH desde el workflow7 min
5
Práctica: build y push de la imagen de tallerdigital a GHCR9 min
13

Buenas prácticas y troubleshooting

0 / 4 lecciones

1
Debuguear un workflow que falla: logs, re-run, debug logging8 min
2
Organizar workflows grandes: nombres claros, jobs pequeños, menos anidamiento9 min
3
Costos y límites: minutos incluidos, retención de artifacts, self-hosted runners8 min
4
Checklist final de buenas prácticas antes de confiar un pipeline a producción9 min
14

Proyecto final

0 / 6 lecciones

1
Definición del pipeline completo: qué corre en cada evento4 min
2
El workflow de pull request: test y lint como status checks7 min
3
El reusable workflow de build y push a GHCR8 min
4
El workflow de deploy: OIDC, Environment de producción, required reviewer6 min
5
Verificación end to end: un push real disparando todo el pipeline4 min
6
Checklist de cierre del curso4 min