Buscar en la documentación

De una rama a producción (CI)

El camino de un cambio desde la rama de trabajo hasta main, con los hooks locales, los trabajos del CI y las fusiones entre dev, stage y main.

Módulo operacion1 min de lecturaVer en GitHub

Hay cuatro niveles de ramas: la de trabajo (feature/, fix/, docs/, chore/), dev para pruebas, stage para preproducción y main para producción. Nada llega a dev, stage ni main sin pasar el CI, y las correcciones urgentes siguen el mismo camino.

Diagrama5 carriles · 8 pasos · 2 salidas de error
SíNoSíNoHace un commit ensu rama de trabajo1¿Pasan loshooks deLefthook?2Corrige y vuelvea intentarAbre un PR haciadev3¿Pasan todoslos trabajos?4El PR no se puedefusionarSquash a dev5Merge de dev astage6Merge de stage amain7Actualiza elservidor8
Los números coinciden con el paso a paso. En pantallas pequeñas el diagrama se desliza de lado.

Paso a paso

  1. PersonaHace un commit en su rama de trabajo

    Ejemplo: feature/back-incidents-crud, creada desde dev.

  2. Hooks locales¿Pasan los hooks de Lefthook?

    Antes del commit, sobre lo que cambió: Pint (dentro del contenedor), ESLint y Prettier, Stylelint y búsqueda de secretos con Gitleaks. Al escribir el mensaje: Conventional Commits (tipo y ámbito en inglés, descripción en español, máximo 100 caracteres).

  3. GitHubAbre un PR hacia dev

    Con la plantilla de PR, que incluye la casilla de documentación.

  4. CI¿Pasan todos los trabajos?

    Título del PR, enlaces entre documentación y código, documentación de funciones (TypeDoc y phpDocumentor), frontend (tipos, lint, estilos, formato, pruebas con cobertura y build), backend (Pint, Larastan nivel 8 y Pest con cobertura dentro del stack de Docker), E2E con Playwright y axe en 4 vistas, imágenes de producción y seguridad (Gitleaks y auditoría de dependencias). Acciones fijadas por hash y permisos de solo lectura.

  5. RamasSquash a dev

    El título del PR se vuelve el mensaje del commit.

  6. RamasMerge de dev a stage

    Con merge commit, después de que el CI de dev pase.

  7. RamasMerge de stage a main
  8. PersonaActualiza el servidor

    Ver "Despliegue y actualización". La versión de main sigue SemVer.

Dependabot propone actualizaciones cada semana hacia dev; en las imágenes de Docker solo propone parches dentro de la versión fijada.

Dónde está en el código