GitHub 호스팅 러너 참조

GitHub 호스팅 러너 참조

GitHub 호스팅 러너의 사양과 사용자 지정 옵션에 대한 정보를 알려드릴게요. 별도 인프라 없이 GitHub가 관리하는 러너를 바로 사용할 수 있어요.

출처: 문서

본문

GitHub 호스팅 러너의 사양과 사용자 지정 옵션을 포함한 정보를 확인할 수 있습니다.

지원되는 러너와 하드웨어 리소스

공개 및 비공개 저장소에서 사용할 수 있는 다양한 GitHub 호스팅 러너가 있습니다.

사용 가능한 러너 목록은 다음을 참고하세요:

GitHub 호스팅 Linux 러너는 Android SDK 도구용 하드웨어 가속을 지원하므로 Android 테스트를 훨씬 빠르게 실행하고 분(minutes)을 덜 소모합니다. Android 하드웨어 가속에 대한 자세한 내용은 Android Developers 문서의 Configure hardware acceleration for the Android Emulator를 참고하세요.

[!NOTE] -latest 러너 이미지는 GitHub가 제공하는 최신 안정 이미지이며, 운영 체제 공급업체가 제공하는 최신 버전의 운영 체제가 아닐 수 있습니다.

[!WARNING] 베타(Beta) 및 더 이상 사용되지 않는(Deprecated) 이미지는 "있는 그대로(as-is)", "모든 결함 포함(with all faults)", "제공 가능한 대로(as available)" 제공되며 서비스 수준 계약과 보증에서 제외됩니다. 베타 이미지는 고객 지원의 적용을 받지 않을 수 있습니다.

공개 저장소용 표준 GitHub 호스팅 러너

공개 저장소의 경우 아래 표의 워크플로 라벨을 사용하는 잡은 해당 사양으로 실행됩니다. 단일 CPU 러너를 제외하고 각 GitHub 호스팅 러너는 GitHub가 호스팅하는 새로운 가상 머신(VM)입니다. 단일 CPU 러너는 공유 VM의 컨테이너에서 호스팅됩니다—GitHub-hosted runners reference를 참고하세요. 표준 GitHub 호스팅 러너의 사용은 공개 저장소에서 무료이며 무제한입니다.

Virtual machine / container Processor (CPU) Memory (RAM) Storage (SSD) Architecture Workflow label
Linux 1 5 GB 14 GB x64 ubuntu-slim
Linux 4 16 GB 14 GB x64 ubuntu-latest, ubuntu-24.04, ubuntu-22.04, ubuntu-26.04
Windows 4 16 GB 14 GB x64 windows-latest, windows-2025, windows-2025-vs2026, windows-2022
Linux 4 16 GB 14 GB arm64 ubuntu-24.04-arm, ubuntu-22.04-arm, ubuntu-26.04-arm
Windows 4 16 GB 14 GB arm64 windows-11-arm, windows-11-vs2026-arm
macOS 4 14 GB 14 GB Intel macos-15-intel, macos-26-intel
macOS 3 (M1) 7 GB 14 GB arm64 macos-latest, macos-14, macos-15, macos-26, xcode-27 (공개 미리보기)

비공개 저장소용 표준 GitHub 호스팅 러너

비공개 저장소의 경우 아래 표의 워크플로 라벨을 사용하는 잡은 해당 사양의 가상 머신에서 실행됩니다. 이 러너들은 GitHub 계정의 무료 분(allowance)을 사용하며, 이후 분당 요금으로 청구됩니다. Actions runner pricing을 참고하세요.

Virtual Machine Processor (CPU) Memory (RAM) Storage (SSD) Architecture Workflow label
Linux 1 5 GB 14 GB x64 ubuntu-slim
Linux 2 8 GB 14 GB x64 ubuntu-latest, ubuntu-24.04, ubuntu-22.04, ubuntu-26.04
Windows 2 8 GB 14 GB x64 windows-latest, windows-2025, windows-2022
Linux 2 8 GB 14 GB arm64 ubuntu-24.04-arm, ubuntu-22.04-arm, ubuntu-26.04-arm
Windows 2 8 GB 14 GB arm64 windows-11-arm, windows-11-vs2026-arm
macOS 4 14 GB 14 GB Intel macos-15-intel, macos-26-intel
macOS 3 (M1) 7 GB 14 GB arm64 macos-latest, macos-14, macos-15, macos-26, xcode-27 (공개 미리보기)

워크플로 로그에는 잡을 실행하는 데 사용된 러너가 나열됩니다. 자세한 내용은 Viewing workflow run history를 참고하세요.

arm64 macOS 러너의 제한 사항

  • GitHub가 제공하는 모든 액션은 arm64 GitHub 호스팅 러너와 호환됩니다. 그러나 커뮤니티 액션은 arm64와 호환되지 않을 수 있으며 런타임 시 수동으로 설치해야 합니다.
  • Apple의 Virtualization Framework의 제한으로 인해 중첩 가상화는 지원되지 않습니다.
  • Azure 비공개 네트워킹과 정적 IP 할당 같은 네트워킹 기능은 현재 macOS 더 큰 러너에서 사용할 수 없습니다.
  • arm64 macOS 러너에는 정적 UUID/UDID가 할당되지 않습니다. Apple이 이 기능을 지원하지 않기 때문입니다. 그러나 Intel macOS 러너에는 정적 UDID, 구체적으로 4203018E-580F-C1B5-9525-B745CECA79EB가 할당됩니다. 빌드와 서명을 같은 호스트에서 수행하고 그 빌드를 테스트할 계획이라면 개발 프로비저닝 프로파일로 서명할 수 있습니다. 정적 UDID가 필요하다면 Intel 러너를 사용하고 UDID를 Apple Developer 계정에 추가하면 됩니다.

단일 CPU 러너

단일 CPU GitHub 호스팅 러너는 공개 및 비공개 저장소 모두에서 사용할 수 있습니다. ubuntu-slim 워크플로 라벨로 지정되는 이 러너들은 가벼운 작업을 실행하기 위한 저비용 옵션을 제공합니다. 이 유형의 러너는 자동화 작업, 이슈 작업, 단시간 실행 잡에 최적화되어 있습니다. 일반적인 대형 CI/CD 빌드에는 적합하지 않습니다.

ubuntu-slim 러너는 전체 VM 인스턴스가 아닌 컨테이너 안의 Ubuntu Linux에서 Actions 워크플로를 실행합니다. 잡이 시작되면 GitHub는 해당 잡에 대해 새 컨테이너를 자동으로 프로비저닝합니다. 잡의 모든 스텝이 컨테이너에서 실행되므로, 잡의 스텝들이 러너의 파일 시스템을 사용해서 정보를 공유할 수 있습니다. 잡이 끝나면 컨테이너는 자동으로 폐기됩니다. 각 컨테이너는 하이퍼바이저 레벨 2 격리를 제공합니다.

[!NOTE] ubuntu-slim 러너의 컨테이너는 비권한(unprivileged) 모드로 실행됩니다. 즉 파일 시스템 마운트, Docker-in-Docker 사용, 저수준 커널 기능 접근 같은 상승된 권한이 필요한 일부 작업은 지원되지 않습니다.

ubuntu-slim 러너 이미지에는 가벼운 작업에 적합한 최소한의 도구 집합이 설치되어 있습니다. ubuntu-slim 이미지에 설치된 소프트웨어에 대한 자세한 내용은 actions/runner-images 저장소의 README 파일을 참고하세요.

사용 한도

단일 CPU 러너는 다른 GitHub 호스팅 표준 러너와 같은 동시성 모델을 따릅니다. Actions limits를 참고하세요. 러너의 동시성은 플랜에 따라 결정됩니다.

단일 CPU 러너의 잡 타임아웃은 15분입니다. 잡이 이 한도에 도달하면 잡이 종료되고 실패합니다.

더 큰 러너

더 큰 러너는 GitHub Team과 GitHub Enterprise Cloud 플랜의 조직과 엔터프라이즈에서 사용할 수 있습니다.

더 큰 러너는 표준 GitHub 호스팅 러너보다 더 많은 리소스를 가진 관리형 가상 머신입니다. 다음과 같은 고급 기능을 제공합니다:

  • 더 많은 RAM, CPU, 디스크 공간
  • 정적 IP 주소
  • Azure 비공개 네트워킹
  • 러너 그룹화 기능
  • 동시 워크플로를 지원하는 자동 확장
  • GPU 지원 러너

이 더 큰 러너들은 GitHub가 호스팅하며 러너 애플리케이션과 기타 도구가 미리 설치되어 있습니다.

자세한 내용은 Using larger runners를 참고하세요.

관리자 권한

Linux와 macOS 가상 머신은 모두 비밀번호 없는 sudo로 실행됩니다. 현재 사용자보다 더 많은 권한이 필요한 명령을 실행하거나 도구를 설치해야 할 때 비밀번호를 입력하지 않고 sudo를 사용할 수 있습니다. 자세한 내용은 Sudo Manual을 참고하세요.

Windows 가상 머신은 UAC(User Account Control)가 비활성화된 관리자로 실행되도록 구성됩니다. 자세한 내용은 Windows 문서의 How User Account Control works를 참고하세요.

IP 주소

GitHub Actions가 GitHub 호스팅 러너에 사용하는 IP 주소 범위 목록을 얻으려면 GitHub REST API를 사용할 수 있습니다. 자세한 내용은 GET /meta 엔드포인트 응답의 actions 키를 참고하세요. 자세한 내용은 REST API endpoints for meta data를 참고하세요.

Windows와 Ubuntu 러너는 Azure에 호스팅되므로 Azure 데이터 센터와 같은 IP 주소 범위를 가집니다. macOS 러너는 GitHub 자체 macOS 클라우드에 호스팅됩니다.

GitHub 호스팅 러너의 IP 주소 범위가 너무 많기 때문에 이를 내부 리소스의 허용 목록으로 사용하는 것은 권장하지 않습니다. 대신 정적 IP 주소 범위를 가진 더 큰 러너나 셀프 호스팅 러너를 사용하는 것을 권장합니다. 자세한 내용은 Using larger runnersSelf-hosted runners를 참고하세요.

API가 반환하는 GitHub Actions IP 주소 목록은 일주일에 한 번 업데이트됩니다.

GitHub 호스팅 러너의 통신 요구 사항

GitHub 호스팅 러너는 필수 통신 작업을 수행하려면 GitHub 소유 엔드포인트에 연결을 설정해야 합니다. 또한 러너는 액션 내에서 지정하거나 사용하는 추가 네트워크에 접근해야 할 수도 있습니다.

구성 내 네트워크 간에 GitHub 호스팅 러너의 적절한 통신을 보장하려면 다음 통신을 허용해야 합니다.

[!NOTE] 나열된 도메인 중 일부는 CNAME 레코드로 구성됩니다. 일부 방화벽은 모든 CNAME 레코드에 대해 재귀적으로 규칙을 추가해야 할 수 있습니다. CNAME 레코드는 나중에 변경될 수 있으며 나열된 도메인만 일정하게 유지된다는 점에 유의하세요.

필수 작업에 필요:

github.com
api.github.com
*.actions.githubusercontent.com

액션 다운로드에 필요:

codeload.github.com

잡 요약, 로그, 워크플로 아티팩트, 캐시 업로드/다운로드에 필요:

results-receiver.actions.githubusercontent.com
*.blob.core.windows.net

러너 버전 업데이트에 필요:

objects.githubusercontent.com
objects-origin.githubusercontent.com
github-releases.githubusercontent.com
github-registry-files.githubusercontent.com

OIDC 토큰 가져오기에 필요:

*.actions.githubusercontent.com

GitHub Packages에 패키지나 컨테이너를 다운로드하거나 게시하는 데 필요:

*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io

Git Large File Storage에 필요

github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com

Dependabot 업데이트 잡에 필요

dependabot-actions.githubapp.com

릴리스 자산 다운로드에 필요:

release-assets.githubusercontent.com

VNet에 필요:

api.snapcraft.io
*.core.windows.net

파일 시스템

GitHub는 가상 머신의 특정 디렉터리에서 액션과 셸 명령을 실행합니다. 가상 머신의 파일 경로는 정적이지 않습니다. GitHub가 제공하는 환경 변수를 사용해서 home, workspace, workflow 디렉터리의 파일 경로를 구성하세요.

Directory Environment variable Description
home HOME 사용자 관련 데이터를 포함합니다. 예를 들어 이 디렉터리는 로그인 시도의 자격 증명을 포함할 수 있습니다.
workspace GITHUB_WORKSPACE 액션과 셸 명령이 이 디렉터리에서 실행됩니다. 액션이 이 디렉터리의 내용을 수정할 수 있으며 이후 액션들이 접근할 수 있습니다.
workflow/event.json GITHUB_EVENT_PATH 워크플로를 트리거한 웹훅 이벤트의 POST 페이로드입니다. GitHub는 액션 간에 파일 내용을 격리하기 위해 액션이 실행될 때마다 이를 다시 작성합니다.

GitHub가 각 워크플로에 만드는 환경 변수 목록은 Store information in variables를 참고하세요.

Docker 컨테이너 파일 시스템

Docker 컨테이너에서 실행되는 액션은 /github 경로 아래에 정적 디렉터리가 있습니다. 그러나 Docker 컨테이너에서 파일 경로를 구성할 때는 기본 환경 변수를 사용하는 것을 강력히 권장합니다.

GitHub는 /github 경로 접두사를 예약하고 액션용 디렉터리 세 개를 만듭니다.

  • /github/home
  • /github/workspace - 참고: GitHub Actions는 기본 Docker 사용자(root)로 실행되어야 합니다. Dockerfile이 USER 지침을 설정하지 않았는지 확인하세요. 그렇지 않으면 GITHUB_WORKSPACE에 접근할 수 없습니다.
  • /github/workflow

더 알아보기 (Learn more)