Skip to main content

워크플로 취소

진행 중인 워크플로 실행을 취소할 수 있습니다. 워크플로 실행을 취소하면 GitHub가 해당 워크플로의 일부인 모든 작업과 단계를 취소합니다.

해당 단계를 수행하려면 리포지토리에 대한 쓰기 권한이 필요합니다.

워크플로 실행 취소

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 작업을 클릭합니다.

    "github/docs" 리포지토리에 대한 탭 스크린샷. "작업" 탭은 주황색 윤곽선으로 강조 표시되어 있습니다.

  3. 왼쪽 사이드바에서 확인할 워크플로를 클릭합니다.

    "작업" 탭의 왼쪽 사이드바 스크린샷. "CodeQL"이라는 워크플로가 진한 주황색 윤곽선으로 표시되어 있습니다.

  4. 워크플로 실행 목록에서 취소하려는 queued 실행 또는 in progress 실행의 이름을 클릭합니다.

  5. 워크플로의 오른쪽 위 모서리에서 워크플로 취소를 클릭합니다.

    현재 실행 중인 워크플로의 요약을 보여 주는 스크린샷 "워크플로 취소" 단추가 주황색 윤곽선으로 강조 표시됩니다.

워크플로 실행을 취소하기 위해 GitHub가 수행하는 단계

워크플로 실행을 취소할 때 워크플로 실행과 관련된 리소스를 사용하는 다른 소프트웨어를 실행 중일 수 있습니다. 워크플로 실행을 취소하기 위해 GitHub가 수행하는 단계를 이해하는 것이 워크플로 실행과 관련된 리소스를 확보하는 데 도움이 될 수 있습니다.

  1. 워크플로 실행을 취소하기 위해 서버는 현재 실행 중인 모든 작업에 대한 if 조건을 다시 평가합니다. 조건이 true로 평가되면 작업이 취소되지 않습니다. 예를 들어 if: always() 조건은 true로 평가되고 작업이 계속 실행됩니다. 조건이 없으면 이전 단계가 성공적으로 완료된 경우에만 실행되는 if: success() 조건과 동일합니다.
  2. 취소해야 하는 작업의 경우 서버는 취소해야 하는 작업이 있는 모든 실행기 컴퓨터에 취소 메시지를 보냅니다.
  3. 계속 실행되는 작업의 경우 서버는 완료되지 않은 단계에 대해 if 조건을 다시 평가합니다. 조건이 true로 평가되면 단계가 계속 실행됩니다. cancelled 표현식을 사용하여 cancelled()의 상태 검사를 적용할 수 있습니다. 자세한 내용은 "워크플로 및 작업에서 식 평가"을 참조하세요.
  4. 취소해야 하는 단계의 경우 실행기 컴퓨터는 단계의 입력 프로세스(javascript 작업의 경우 node, 컨테이너 작업의 경우 docker, 단계에서 run을 사용할 경우 bash/cmd/pwd)로 SIGINT/Ctrl-C를 보냅니다. 프로세스가 7,500ms 이내에 끝나지 않으면 실행기는 SIGTERM/Ctrl-Break를 프로세스로 보낸 다음 프로세스가 종료될 때까지 2,500ms를 기다립니다. 프로세스가 계속 실행 중이면 실행기에서 프로세스 트리를 종료합니다.
  5. 5분 취소 시간 제한 기간이 지나면 서버는 실행을 완료하지 않거나 취소 프로세스를 완료하지 못한 모든 작업 및 단계를 강제로 종료합니다.