피드로 돌아가기
Dev.toDevOps
원문 읽기
Bash Gate 기반의 GitHub Actions 동기화로 404 에러 zero 달성
Coordinar deploys de frontend y backend sin orquestado, usando Github Actions
AI 요약
Context
SPA와 API가 독립적인 GitHub Actions Workflow로 배포되는 구조에서 Frontend의 빠른 배포 속도로 인한 Race Condition 발생. Backend API 배포 완료 전 Frontend가 먼저 배포되어 사용자가 404 에러를 경험하는 가시적 장애 상황 직면.
Technical Solution
- Path Filters를 유지하며 Backend 변경 사항 포함 시에만 Frontend 배포를 지연시키는 Gate 로직 도입
- GitHub Actions API의 head_sha를 활용하여 동일 Commit SHA에 대한 Backend Workflow 상태를 Polling하는 Bash 스크립트 구현
- Backend 배포 실패 시 Frontend 배포를 자동으로 차단하는 Fail-closed 메커니즘 적용
- 배포 중단으로 인한 Bundle 파손을 방지하기 위해 cancel-in-progress를 false로 설정하여 원자성 보장
- 단순 통합 Workflow 대비 독립적 배포의 이점과 동기화의 필요성을 절충한 Hybrid 전략 채택
실천 포인트
1. 배포 도메인 간 결합도(Coupled Push Ratio)를 측정하여 동기화 전략 결정
2. API 기반의 Workflow 상태 확인 로직 도입 시 Fail-closed 원칙 적용 여부 검토
3. S3 Sync 등 파일 전송 단계에서 cancel-in-progress 설정이 배포 무결성에 미치는 영향 분석