DevOps

⚙️ Flujos de trabajo de acciones de GitHub

GitHub Actions es la principal plataforma de automatización de CI/CD de Maxi's Computers. Los flujos de trabajo son archivos YAML almacenados en .github/workflows/ y se ejecutan en ejecutores alojados en GitHub o autohospedados en respuesta a eventos del repositorio.

Sintaxis del flujo de trabajo

yaml

## Triggers

Secretos y variables

Utilice OIDC para AWS Prefiera OpenID Connect (OIDC) a las claves de acceso de AWS de larga duración en secretos. Los tokens OIDC son de corta duración y se limitan a la ejecución del flujo de trabajo específico.

yaml

## Matrix Builds

Almacenamiento en caché de dependencia

yaml

## Reusable Workflows

Ambientes y reglas de protección

Los entornos GitHub agregan puertas de protección antes de que los trabajos puedan ejecutarse en recursos protegidos:

  • Revisores obligatorios: las personas designadas deben aprobar antes de que continúe la implementación.
  • Temporizador de espera: retrasa la implementación en N minutos (útil para el monitoreo canario).
  • Sucursales de implementación: restringe qué sucursales pueden implementarse en un entorno.
  • Secretos del entorno: secretos con alcance para un entorno específico (por ejemplo, credenciales de producción de base de datos).

Mejores prácticas

  • Fijar versiones de acción a un SHA completo: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 previene ataques a la cadena de suministro.
  • Establezca timeout-minutes en cada trabajo para evitar una facturación descontrolada.
  • Utilice permissions: {} a nivel de flujo de trabajo y otorgue solo lo necesario por trabajo.
  • Caché agresivo: utilice actions/cache o el almacenamiento en caché integrado en las acciones de configuración.
  • Falla rápida en PR, no en principal: use fail-fast: true para verificaciones de PR y false para canales de liberación.
  • Utilice concurrency para cancelar ejecuciones en curso cuando se envíen nuevas confirmaciones a la misma rama.