⚙️ 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
## TriggersSecretos 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 BuildsAlmacenamiento en caché de dependencia
yaml
## Reusable WorkflowsAmbientes 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@11bd71901bbe5b1630ceea73d27597364c9af683previene ataques a la cadena de suministro.
- Establezca
timeout-minutesen 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/cacheo el almacenamiento en caché integrado en las acciones de configuración.
- Falla rápida en PR, no en principal: use
fail-fast: truepara verificaciones de PR yfalsepara canales de liberación.
- Utilice
concurrencypara cancelar ejecuciones en curso cuando se envíen nuevas confirmaciones a la misma rama.