오래된 커밋에 시간 낭비하지 마
5분 동안 10번 푸시하면 기본적으로 CI가 10개 병렬로 실행돼. 시작하는 순간 9개는 이미 쓸모없어져. concurrency:로 그룹을 선언하면 그룹마다 실행은 하나만 활성화되고, 활성 그룹에서 새 실행을 시작할 때 어떻게 처리할지 선택할 수 있어.
두 가지 설정
group:— 그룹을 식별하는 문자열 템플릿이야. 흔히 쓰는 건${{ github.workflow }}-${{ github.ref }}로, 워크플로마다 브랜치마다 하나만 실행되게 해.cancel-in-progress:— true면 새 실행을 시작하느라 돌아가는 걸 취소하고, false면 새 실행을 큐에 넣어.
알맞은 그룹 고르기
- PR 피드백 —
github.ref그룹에 cancel-in-progress를 true로 설정해. 새 푸시가 이전 실행을 무효화하지. - 배포 — 환경 이름으로 그룹을 묶고 cancel-in-progress는 false로 해. 같은 환경에서 두 번 배포하면 직렬로 처리돼.
- 릴리스 —
github.workflow그룹에 cancel-in-progress를 false로 설정해. 릴리스가 큐에 들어가서 겹치지 않아.