동시성(Concurrency) 살펴보기

동시성(Concurrency) 살펴보기

워크플로와 작업을 동시에 실행하는 방법에 대해 알아볼게요.

기본적으로 GitHub Actions는 같은 워크플로 안의 여러 작업, 같은 리포지토리 안의 여러 워크플로 실행, 그리고 리포지토리 소유자 계정 전반의 여러 워크플로 실행이 동시에 실행되도록 허용해요. 즉 같은 워크플로나 작업의 여러 인스턴스가 동시에 실행되어 같은 단계를 수행할 수 있어요.

GitHub Actions는 동시 실행을 비활성화하는 것도 허용해요. 여러 워크플로나 작업을 동시에 실행하면 충돌이 발생하거나 예상보다 더 많은 Actions 분과 스토리지를 소비할 수 있는 상황에서 계정이나 조직의 리소스를 제어하는 데 유용해요. 예를 들어 여러 배포가 동시에 실행되는 것을 막거나, 오래된 커밋을 검사하는 린터(linter)를 취소하고 싶을 수 있어요.

동시성을 제한하면 기본적으로 동시성 그룹에 하나의 실행만 대기(pending) 상태일 수 있어요. 추가 대기 중인 실행은 이전 실행을 취소해요. 실행이 취소되지 않고 순차적으로 실행되도록 해야 한다면 대기열(queuing)을 선택할 수 있어요. 대기열을 사용하면 여러 실행이 줄을 서서 차례로 실행될 수 있어요.

자체 워크플로에서 concurrency 키워드로 동시성 제어를 시작하려면 워크플로와 작업의 동시성 제어하기를 참고하세요.

더 알아보기 (Learn more)