Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

GitHub — Avanzado

10h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • GitHub

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Dirigido a desarrolladores y responsables técnicos con experiencia sólida en GitHub que necesitan operar a escala organizacional y asumir decisiones de arquitectura sobre los procesos de desarrollo. A lo largo de las 10 horas, el participante analizará en profundidad las principales estrategias de branching para elegir la más adecuada a cada contexto de equipo y producto, diseñará pipelines CI/CD avanzados con GitHub Actions incorporando matrices de estrategia y steps reutilizables, establecerá controles de calidad automáticos sobre el repositorio mediante branch protection y CODEOWNERS, optimizará la seguridad y el coste de los workflows aplicando el principio de mínimo privilegio, automatizará la gestión del ciclo de vida de Issues y Pull Requests a escala, gobernará la estructura de equipos y permisos de una organización GitHub, y construirá mecanismos de recuperación ante fallos en pipelines complejos. Al finalizar, el participante será capaz de diseñar y mantener un ecosistema GitHub seguro, eficiente y auditable que soporte el trabajo coordinado de equipos grandes con entregas continuas y calidad verificada.

  1. Evaluar críticamente las principales estrategias de branching (Git Flow, Trunk-Based Development, GitHub Flow), anticipar y resolver conflictos complejos de integración concurrente (rerere, estrategias ours/theirs/octopus, rebase interactivo), y evaluar los trade-offs entre arquitectura monorepo y multi-repo para un contexto organizativo dado.
  2. Diseñar un pipeline CI/CD completo en GitHub Actions con jobs dependientes, matrices de estrategia y componentes reutilizables, optimizar repositorios de gran tamaño (shallow clone, sparse checkout, Git LFS, git gc), y automatizar el ciclo de versionado semántico integrando generación de tags, changelogs y releases en el pipeline.
  3. Configurar controles de calidad automáticos sobre el repositorio —branch protection rules, required status checks, CODEOWNERS— y automatizar validaciones mediante hooks avanzados del lado servidor (pre-receive, post-receive) integrados con herramientas de linting o testing.
  4. Aplicar medidas de seguridad y optimización de costes en GitHub Actions, construir mecanismos de resiliencia ante fallos, y diagnosticar la introducción de regresiones usando git bisect, git blame y herramientas de análisis de contribución para identificar el commit problemático y los patrones de riesgo.
  5. Automatizar la gestión del ciclo de vida de Issues y Pull Requests a escala organizacional, diseñar la estructura de equipos y permisos de una organización GitHub, y evaluar la salud del proceso de desarrollo con GitHub Insights.

Bloque 1 — Estrategias de branching, conflictos complejos y arquitectura de repositorios. Se analizan comparativamente Git Flow, Trunk-Based Development y GitHub Flow con sus implicaciones sobre velocidad de entrega, complejidad de integración y gestión de riesgos. El bloque incorpora la resolución de conflictos complejos de integración concurrente —rerere, estrategias de merge ours, theirs y octopus, rebase interactivo en escenarios de múltiples ramas— y el análisis de los trade-offs entre arquitectura monorepo y multi-repo para diseñar la estructura de repositorios y los mecanismos de sincronización entre proyectos.

Bloque 2 — Pipelines CI/CD avanzados, optimización de repositorios y versionado automático. Se diseñan workflows de múltiples etapas con dependencias entre jobs (needs), matrices de estrategia para pruebas paralelas y steps reutilizables (workflow_call, actions compuestas). El bloque incorpora técnicas de optimización para repositorios de gran tamaño —shallow clone, sparse checkout, Git LFS y git gc— y la automatización completa del ciclo de versionado semántico: generación de tags, changelogs y releases dentro del pipeline sin intervención manual.

Bloque 3 — Control de calidad, protección de ramas y hooks avanzados. Se configuran branch protection rules con required status checks vinculados al pipeline y revisiones obligatorias asignadas mediante CODEOWNERS. El bloque extiende la calidad automatizada al nivel de servidor con hooks avanzados (pre-receive, post-receive) integrados con herramientas de linting o testing, y su distribución y mantenimiento en equipos que trabajan en múltiples repositorios.

Bloque 4 — Seguridad, resiliencia y diagnóstico forense del historial. Se trabajan las prácticas avanzadas de operación de workflows: mínimo privilegio sobre GITHUB_TOKEN, entornos con required reviewers, concurrency para eliminar ejecuciones redundantes y mecanismos de recuperación (continue-on-error, jobs de rollback con if: failure(), notificaciones automáticas). El bloque incorpora las herramientas de diagnóstico forense del historial: git bisect para localizar el commit que introdujo una regresión mediante búsqueda binaria, y git blame para identificar la autoría y el contexto de cambios problemáticos.

Bloque 5 — Automatización organizacional y métricas de salud del equipo. Se automatiza el ciclo de vida de Issues y Pull Requests a escala —etiquetado automático, asignación de revisores, cierre por inactividad— con GitHub Actions y GitHub CLI. Se completa con GitHub Insights para medir la salud del proceso de desarrollo e identificar cuellos de botella, y con el diseño de la jerarquía de equipos y roles en una organización GitHub con políticas de acceso coherentes con el principio de mínimo privilegio.

  • Cuenta personal de GitHub activa con posibilidad de crear repositorios públicos o privados.
  • Acceso a una organización de GitHub propia o de prueba con permisos de Owner (necesario para configurar branch protection, equipos y entornos); se recomienda crear una organización de sandbox específica para el curso.
  • GitHub CLI (gh) instalado y autenticado en la máquina local.
  • Git ≥ 2.40 instalado localmente.
  • Editor de código con soporte YAML (Visual Studio Code con la extensión GitHub Actions recomendada).
  • Navegador web moderno (Chrome, Firefox o Edge en versión actual).
  • Conexión a internet estable para interactuar con la API de GitHub y ejecutar workflows en los runners alojados.

Para aprovechar este curso el participante debe llegar con dominio consolidado de GitHub a nivel intermedio: flujo de trabajo con Pull Requests y revisiones de código, uso básico de GitHub Actions (triggers, jobs, secrets), gestión de ramas y resolución de conflictos, y familiaridad con los conceptos fundamentales de CI/CD. Estos contenidos se cubren en el curso GGH02 — GitHub Intermedio, prerrequisito obligatorio de esta formación.