Home Projects Portfolio Dashboard Export PDF Log in
GitHub Actions PHP

Fortaleciendo la seguridad en Breniapp: Adiós al despliegue automático

En el proyecto Breniapp, hemos tomado una decisión estratégica para elevar la calidad y la seguridad de nuestras entregas a producción. Recientemente, procedimos a eliminar el flujo de trabajo de automatización que permitía la aprobación y fusión automática de las solicitudes de extracción (PRs) de usuarios específicos.

El desafío: Automatización sin supervisión

Anteriormente, contábamos con un flujo en GitHub Actions diseñado para agilizar el ciclo de vida de los cambios. Sin embargo, esta automatización permitía que ciertas contribuciones omitieran por completo la revisión humana. Esto significaba que cualquier código nuevo se fusionaba e integraba directamente en la rama principal, disparando despliegues automáticos a producción sin pasar por un proceso de revisión de código (code review) estándar.

El cambio: Implementación de revisiones obligatorias

Para garantizar la estabilidad, hemos realizado dos ajustes críticos:

  1. Eliminación del workflow de auto-merge: Hemos retirado el archivo .github/workflows/auto-approve-merge.yml para detener la aprobación automática mediante tokens de acceso personal.
  2. Protección de ramas: Ahora, la rama main requiere obligatoriamente al menos una revisión humana aprobatoria y la validación exitosa de los análisis estáticos (PHPStan).

Este cambio asegura que cada línea de código sea examinada por un miembro del equipo antes de llegar a los entornos de producción, manteniendo la integridad del proyecto y reduciendo significativamente el riesgo de despliegues inesperados.

# Ejemplo de configuración de protección de rama (lógica)
branch_protection:
  require_pull_request_reviews:
    required_approving_review_count: 1
  require_status_checks:
    checks:
      - "Static analysis (PHPStan)"

Al priorizar la revisión humana, fortalecemos nuestra cultura de calidad y aseguramos que el equipo mantenga visibilidad sobre todos los cambios entrantes.

Fortaleciendo la seguridad en Breniapp: Adiós al despliegue automático
Gerardo Ruiz

Gerardo Ruiz

Author

Share: