피드로 돌아가기
cancel-in-progress:true Silently Dropped Our Deploys — GitHub Actions Concurrency Gotcha
Dev.toDev.to
DevOps

cancel-in-progress 설정 오류로 인한 배포 누락 해결 및 순차 배포 보장

cancel-in-progress:true Silently Dropped Our Deploys — GitHub Actions Concurrency Gotcha

kanta13jp12026년 4월 19일2intermediate

Context

병렬 푸시 발생 시 GitHub Actions의 concurrency 그룹 내 cancel-in-progress: true 설정으로 인해 이전 배포 작업이 강제 종료되는 현상 발생. 최신 커밋만 반영되고 중간 커밋들이 프로덕션에 반영되지 않는 데이터 유실 문제 직면.

Technical Solution

  • Deploy 워크플로우 특성에 맞춘 cancel-in-progress: false 설정을 통한 순차적 실행 보장
  • 신규 실행 건을 Queue에 적재하여 기존 작업 완료 후 순차적으로 처리하는 구조로 변경
  • concurrency group 키에 github.ref를 추가하여 브랜치별 독립적인 배포 그룹 생성
  • CI(Lint/Test)와 CD(Deploy)의 목적 차이에 따른 전략적 Concurrency 정책 분리
  • 다중 인스턴스 푸시 환경에서도 모든 커밋이 누락 없이 배포되는 파이프라인 설계

1. Deploy 워크플로우의 cancel-in-progress 설정이 true인지 확인

2. 브랜치 간 간섭 방지를 위해 concurrency group에 github.ref 포함 여부 검토

3. CI는 최신성(Latest), CD는 완전성(Completeness) 기준으로 정책 분리 적용

원문 읽기
cancel-in-progress:true Silently Dropped Our Deploys — GitHub Actions Concurrency Gotcha | Devpick