참고 항목
GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다.
초기 문제 해결 제안
실패한 워크플로 실행을 문제 해결하는 방법은 여러 가지가 있습니다.
워크플로 실행 로그 사용
각 워크플로 실행은 보고, 검색하고, 다운로드할 수 있는 활동 로그를 생성합니다. 자세한 내용은 워크플로 실행 로그 사용을(를) 참조하세요.
디버그 로깅 사용
워크플로 로그가 워크플로, 작업 또는 단계가 예상대로 작동하지 않는 이유를 진단하기에 충분한 세부 정보를 제공하지 않는 경우 추가 디버그 로깅을 사용하도록 설정할 수 있습니다. 자세한 내용은 디버그 로깅 사용을(를) 참조하세요.
워크플로에서 특정 도구 또는 작업을 사용하는 경우, 해당 도구의 디버그 또는 자세한 로깅 옵션을 활성화하면 문제 해결을 위한 더 자세한 출력을 생성하는 데 도움이 될 수 있습니다.
예를 들어 npm에는 npm install --verbose을(를) 사용하고 git에는 GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...을(를) 사용할 수 있습니다.
워크플로 트리거 문제 해결
워크플로가 무엇에 의해 트리거될 것으로 예상되는지 이해하려면 워크플로의 on: 필드를 검토할 수 있습니다. 자세한 내용은 워크플로 트리거을(를) 참조하세요.
사용 가능한 이벤트의 전체 목록은 워크플로를 트리거하는 이벤트을(를) 참조하세요.
이벤트 조건 트리거
일부 트리거링 이벤트는 기본 분기에서만 실행됩니다(예: issues, schedule). 기본 분기 외부에 존재하는 워크플로 파일 버전은 이러한 이벤트에서 트리거되지 않습니다.
병합 충돌이 있는 풀 리퀘스트가 있는 경우 워크플로는 pull_request 작업에서 실행되지 않습니다.
원래 push 또는 pull_request 활동에서 트리거되었어야 하는 워크플로라도, 커밋 메시지에 스킵 주석이 포함되어 있으면 건너뜁니다. 자세한 내용은 워크플로 실행 건너뛰기을(를) 참조하세요.
예상치 못한 시간에 실행되는 예약 워크플로
예약된 이벤트는 GitHub Actions 워크플로 실행의 부하가 높은 기간 동안 지연될 수 있습니다.
높은 로드 시간에는 매 시간의 시작이 포함됩니다. 부하가 충분히 높으면 일부 대기 중인 작업이 드롭될 수 있습니다. 지연 가능성을 줄이려면 워크플로가 다른 시간에 실행되도록 예약합니다. 자세한 내용은 워크플로를 트리거하는 이벤트을(를) 참조하세요.
필터링 및 diff 제한
특정 이벤트는 분기, 태그 및/또는 사용자 지정 가능한 경로로 필터링할 수 있습니다. 필터 조건이 워크플로를 필터링하도록 적용되면 워크플로 실행 생성이 건너뛰어집니다.
필터에 특수 문자를 사용할 수 있습니다. 자세한 내용은 GitHub Actions에 대한 워크플로 구문을(를) 참조하세요.
경로 필터링의 경우, diff 평가가 처음 300개 파일로 제한됩니다. 변경된 파일 중 필터가 반환한 처음 300개 파일에 포함되지 않은 파일이 있으면 워크플로가 실행되지 않습니다. 자세한 내용은 GitHub Actions에 대한 워크플로 구문을(를) 참조하세요.
워크플로 실행 문제 해결
워크플로 실행은 워크플로가 트리거되고 워크플로 실행이 생성된 이후에 발생하는 모든 문제를 포함합니다.
워크플로 취소
UI 또는 API를 통한 표준 취소가 예상대로 처리되지 않으면, 실행 중인 워크플로 작업(들)에 취소되지 않도록 만드는 조건문이 구성되어 있을 수 있습니다.
이런 경우 API를 활용하여 실행을 강제로 취소할 수 있습니다. 자세한 내용은 워크플로 실행에 대한 REST API 엔드포인트을(를) 참조하세요.
일반적인 원인으로는 취소 시에도 true을(를) 반환하는 always()상태 검사 함수를 사용하는 경우가 있습니다. 대안으로는 cancelled() 함수의 역(inverse)인 ${{ !cancelled() }}을(를) 사용할 수 있습니다.
자세한 내용은 조건을 사용하여 작업 실행 제어 및 워크플로 실행 취소을(를) 참조하세요.
실행기 문제 해결
실행기 레이블 정의
GitHub 호스팅 실행기는 actions/runner-images 리포지토리를 통해 유지 관리되는 미리 설정된 레이블을 활용합니다.
대형 실행기 및 자체 호스팅 실행기에는 고유한 레이블 이름을 사용하는 것을 권장합니다. 레이블이 기존 미리 설정된 레이블 중 어느 것과라도 일치하면, 작업이 어떤 일치 실행기 옵션에서 실행될지 보장되지 않아 실행기 할당 문제가 발생할 수 있습니다.
자체 호스팅 실행기
자체 호스팅 실행기를 사용하는 경우 해당 활동을 보고 일반적인 문제를 진단할 수 있습니다.
자세한 내용은 자체 호스트형 실행기 모니터링 및 문제 해결을(를) 참조하세요.
네트워킹 문제 해결 제안
다음을 포함하는 네트워크 문제에 대해서는 지원이 제한됩니다:
- 사용자의 네트워크
- 외부 네트워크
- 타사 시스템
- 일반적인 인터넷 연결
GitHub의 실시간 플랫폼 상태를 보려면 GitHub 상태를 확인하세요.
그 외 네트워크 관련 문제의 경우, 조직의 네트워크 설정을 검토하고 액세스 중인 타사 서비스의 상태를 확인하세요. 문제가 지속되면 네트워크 관리자에게 추가 지원을 요청하는 것을 고려하세요.
문제가 확실하지 않으면 GitHub 지원에 문의하세요. 지원에 문의하는 방법에 대한 자세한 내용은 GitHub 지원에 문의을(를) 참조하세요.
DNS
DNS(Domain Name System) 구성, 해석 또는 확인자 문제로 인해 문제가 발생할 수 있습니다. 사용 가능한 로그를 검토하거나 공급업체 문서를 확인하거나 관리자와 상의하여 추가 지원을 받는 것을 권장합니다.
방화벽
방화벽에 의해 활동이 차단될 수 있습니다. 이 경우 사용 가능한 로그를 검토하거나 공급업체 문서를 확인하거나 관리자와 상의하여 추가 지원을 받는 것이 좋습니다.
프록시
통신에 프록시를 사용할 때 활동이 실패할 수 있습니다. 사용 가능한 로그를 검토하거나 공급업체 문서를 확인하거나 관리자와 상의하여 추가 지원을 받는 것이 좋은 습관입니다.
프록시를 활용하도록 실행기 애플리케이션을 구성하는 방법에 대한 정보는 실행기에서 프록시 서버 사용을(를) 참조하세요.
서브넷
가상 클라우드 제공자 또는 Docker 네트워크 내부 등, 사용 중인 서브넷 문제나 기존 네트워크와의 중복으로 문제가 발생할 수 있습니다. 이런 경우 네트워크 토폴로지와 사용 중인 서브넷을 검토하는 것을 권장합니다.
인증서
자체 서명 또는 사용자 지정 인증서 체인 및 인증서 저장소로 인해 문제가 발생할 수 있습니다. 사용 중인 인증서가 만료되지 않았고 현재 신뢰되는지 확인할 수 있습니다. 인증서는 curl 또는 유사한 도구로 검사할 수 있습니다. 또한 사용 가능한 로그를 검토하거나 공급업체 문서를 확인하거나 관리자와 상의하여 추가 지원을 받을 수 있습니다.
IP 목록
IP 허용 목록 또는 차단 목록이 예상된 통신을 방해할 수 있습니다. 문제가 발생하면 사용 가능한 로그를 검토하거나 공급업체 문서를 확인하거나 관리자와 상의하여 추가 지원을 받는 것이 좋습니다.
운영 체제 및 소프트웨어 애플리케이션
방화벽이나 프록시 외에도, 추가 소프트웨어 패키지 설치와 같은 GitHub 호스팅 실행기에 대한 사용자 지정이 통신 중단을 유발할 수 있습니다. 사용 가능한 사용자 지정 옵션에 대한 정보는 GitHub 호스팅 실행기 사용자 지정을(를) 참조하세요.
-
자체 호스팅 실행기의 경우, 필요한 엔드포인트에 대한 자세한 내용은 자체 호스팅 실행기 참조에서 알아보세요.
-
WireGuard 구성 도움말은 WireGuard를 사용하여 네트워크 오버레이 만들기을(를) 참조하세요.
-
OpenID Connect(OIDC) 구성에 대한 자세한 내용은 OIDC와 함께 API 게이트웨이 사용을(를) 참조하세요.