Evert Romero f32b58fc46 fix(pipeline): implementar manejo robusto de state locks de Terraform
Problema:
- El pipeline fallaba con 'Error acquiring the state lock' cuando un proceso
  anterior de Terraform no liberaba el lock correctamente
- Los locks bloqueados requerían intervención manual

Solución implementada:
1. Nuevo script scripts/terraform-lock-cleanup.sh:
   - Verifica locks existentes en DynamoDB antes de ejecutar Terraform
   - Calcula antigüedad del lock (default: 30 minutos)
   - Elimina locks bloqueados automáticamente
   - Espera si el lock es reciente (operación en curso legítima)

2. Nuevo step 02_pre_terraform_check:
   - Ejecuta antes del step 03_terraform
   - Instala AWS CLI y configura credenciales
   - Limpia locks bloqueados antes de iniciar Terraform

3. Agregado -lock-timeout=5m a comandos Terraform:
   - terraform plan -lock-timeout=5m
   - terraform apply -lock-timeout=5m
   - Permite esperar si hay una operación legítima en curso

4. Aplicado a ambas ramas:
   - developer: cleanup para entorno dev
   - master: cleanup para entorno prod

Beneficios:
- Pipeline más robusto y autónomo
- Menos intervención manual para locks bloqueados
- Mejor manejo de concurrencia entre pipelines
- Previene corrupción de estado por locks huérfanos

Refs: Build #64 falló por state lock en DynamoDB
2026-04-17 11:11:06 -06:00
2026-04-16 21:51:56 +00:00
S
Description
Mirror del repositorio proyectosacc desde Bitbucket
29 MiB
Languages
Shell 58.5%
HCL 41.5%