피드로 돌아가기
Coordinar deploys de frontend y backend sin orquestado, usando Github Actions
Dev.toDev.to
DevOps

Bash Gate 기반의 GitHub Actions 동기화로 404 에러 zero 달성

Coordinar deploys de frontend y backend sin orquestado, usando Github Actions

Franchesco Romero2026년 5월 28일11intermediate

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 설정이 배포 무결성에 미치는 영향 분석

원문 읽기