Skip to main content

이 버전의 GitHub Enterprise Server는 2023-09-25. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 성능 향상, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

동시성 사용

한 번에 하나의 작업을 실행합니다.

참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.

개요

참고: 작업 수준에서 동시성이 지정되면 작업 순서가 보장되지 않거나 서로 5분 이내에 해당 큐를 실행합니다.

jobs.<job_id>.concurrency를 사용하여 동일한 동시성 그룹을 사용하는 단일 작업 또는 워크플로만 한 번에 실행되도록 할 수 있습니다. 동시성 그룹은 모든 문자열 또는 식일 수 있습니다. 허용되는 식 컨텍스트: github, inputs,vars ,strategyneeds 및 .matrix 식에 대한 자세한 내용은 ".

워크플로 수준에서 concurrency를 지정할 수도 있습니다. 자세한 내용은 concurrency를 참조하세요.

동시 작업 또는 워크플로가 큐에 대기 중인 경우 리포지토리의 동일한 동시성 그룹을 사용하는 다른 작업 또는 워크플로가 진행 중이면 대기 중인 작업 또는 워크플로는 pending 상태가 됩니다. 동시성 그룹에서 이전에 보류 중인 작업 또는 워크플로는 모두 취소됩니다. 동일한 동시성 그룹에서 현재 실행 중인 작업 또는 워크플로도 취소하려면 cancel-in-progress: true를 지정합니다.

참고: 동시성 그룹 이름은 대/소문자를 구분하지 않습니다. 예를 들어 prod Prod 동일한 동시성 그룹으로 처리됩니다.

예: 동시성 및 기본 동작 사용

concurrency: staging_environment
concurrency: ci-${{ github.ref }}

예: 동시성을 사용하여 진행 중인 작업 또는 실행 취소

concurrency:
  group: ${{ github.ref }}
  cancel-in-progress: true

예: 대체 값 사용

특정 이벤트에 대해서만 정의되는 속성으로 그룹 이름을 빌드하는 경우 대체 값을 사용할 수 있습니다. 예를 들어 github.head_refpull_request 이벤트에서만 정의됩니다. 워크플로가 pull_request 이벤트 외에 다른 이벤트에도 응답하는 경우 구문 오류를 방지하기 위해 대체를 제공해야 합니다. 다음 동시성 그룹은 pull_request 이벤트에서만 진행 중인 작업 또는 실행을 취소합니다. github.head_ref가 정의되지 않은 경우 동시성 그룹은 실행에 고유하고 정의된 실행 ID로 대체됩니다.

concurrency:
  group: ${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

예: 현재 워크플로에 대해서만 진행 중인 작업 또는 실행 취소

동일한 리포지토리에 여러 워크플로가 있는 경우 다른 워크플로에서 진행 중인 작업 또는 실행이 취소되지 않도록 워크플로 전체에서 동시성 그룹 이름이 고유해야 합니다. 그렇지 않으면 워크플로에 관계없이 이전에 진행 중이거나 보류 중인 작업이 취소됩니다.

동일한 워크플로의 진행 중인 실행만 취소하기 위해 github.workflow 속성을 사용하여 동시성 그룹을 빌드할 수 있습니다.

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true