지원되는 실행기 및 하드웨어 리소스
GitHub 호스팅 실행기 범위는 퍼블릭 및 프라이빗 리포지토리에서 사용할 수 있습니다.
사용할 수 있는 실행기 목록은 다음을 참조하세요.
- 퍼블릭 리포지토리용 표준 실행기
- 프라이빗 리포지토리용 표준 실행기
GitHub 호스트형 Linux 실행기는 Android SDK Tools에 대한 하드웨어 가속을 지원하므로 Android 테스트 실행 속도가 훨씬 빨라지고 소모 시간(분)을 줄여줍니다. Android 하드웨어 가속에 대한 자세한 내용은 Android 개발자 설명서 내의 Android Emulator에 대한 하드웨어 가속 구성을 참조하세요.
참고 항목
-latest
실행기 이미지는 GitHub에서 제공하는 안정적인 최신 이미지이며 운영 체제 공급업체에서 사용할 수 있는 운영 체제의 최신 버전이 아닐 수도 있습니다.
경고
베타 및 사용되지 않는 이미지는 "있는 그대로" "모든 오류를 포함하여" "사용 가능한 상태로" 제공되며, 서비스 수준 계약 및 보증에서 제외됩니다. 베타 이미지는 고객 지원에서 다루지 않을 수 있습니다.
퍼블릭 리포지토리의 표준 GitHub 호스팅 실행기
퍼블릭 리포지토리의 경우 아래 표에 표시된 워크플로 레이블을 사용하는 작업은 관련 사양을 갖춘 가상 머신에서 실행됩니다. 퍼블릭 리포지토리에서 이러한 실행기를 사용하는 것은 무료이며 무제한입니다.
Virtual Machine | 프로세서(CPU) | 메모리(RAM) | 스토리지(SSD) | 아키텍처 | 워크플로 레이블 |
---|---|---|---|---|---|
Linux | 4 | 16GB | 14 GB | X64 | ubuntu-latest , ubuntu-24.04 , ubuntu-22.04 |
Windows | 4 | 16GB | 14 GB | X64 | windows-latest , windows-2025 , windows-2022 |
Linux [공개 미리 보기] | 4 | 16GB | 14 GB | arm64 | ubuntu-24.04-arm , ubuntu-22.04-arm |
Windows [공개 미리 보기] | 4 | 16GB | 14 GB | arm64 |
windows-11-arm
|
macOS | 4 | 14 GB | 14 GB | Intel |
macos-13
|
macOS | 3 (M1) | 7 GB | 14 GB | arm64 | macos-latest , macos-14 , macos-15 |
참고 항목
arm64 Linux 및 Windows 실행기는 공개 미리 보기 상태이며 변경될 수 있습니다.
프라이빗 리포지토리에 대한 표준 GitHub 호스팅 실행기.
프라이빗 리포지토리의 경우 아래 표에 표시된 워크플로 레이블을 사용하는 작업은 관련 사양을 갖춘 가상 머신에서 실행됩니다. 이러한 실행기는 GitHub 계정의 무료 사용 가능 시간(분)을 사용한 다음 분당 요금이 청구됩니다. 자세한 내용은 GitHub Actions 청구을(를) 참조하세요.
Virtual Machine | 프로세서(CPU) | 메모리(RAM) | 스토리지(SSD) | 아키텍처 | 워크플로 레이블 |
---|---|---|---|---|---|
Linux | 2 | 7 GB | 14 GB | X64 | ubuntu-latest , ubuntu-24.04 , ubuntu-22.04 |
Windows | 2 | 7 GB | 14 GB | X64 | windows-latest , windows-2025 , windows-2022 |
macOS | 4 | 14 GB | 14 GB | Intel |
macos-13
|
macOS | 3 (M1) | 7 GB | 14 GB | arm64 | macos-latest , macos-14 , macos-15 |
워크플로 로그는 작업을 실행하는 데 사용되는 실행기를 나열합니다. 자세한 내용은 워크플로 실행 기록 보기을(를) 참조하세요.
arm64 macOS 실행기 제한 사항
- GitHub에서 제공하는 모든 작업은 arm64 GitHub 호스트된 실행기와 호환됩니다. 그러나 커뮤니티 작업은 arm64와 호환되지 않을 수 있으며 런타임에 수동으로 설치해야 합니다.
- Apple의 가상화 프레임워크 제한으로 인해 MPS(Nested-virtualization and Metal Performance Shaders)는 지원되지 않습니다.
- Azure 개인 네트워킹 및 정적 IP 할당과 같은 네트워킹 기능은 현재 macOS 대규모 실행기에서 사용할 수 없습니다.
- arm64 macOS 실행기에는 Apple이 이 기능을 지원하지 않기 때문에 할당된 정적 UUID/UDID가 없습니다. 그러나 Intel MacOS 실행기에서는 정적 UDID, 특히
4203018E-580F-C1B5-9525-B745CECA79EB
가 할당됩니다. 빌드를 테스트하려는 동일한 호스트에서 빌드 및 서명하는 경우 개발 프로비저닝 프로필로 서명할 수 있습니다. 정적 UDID가 필요한 경우 Intel 실행기를 사용하고 해당 UDID를 Apple 개발자 계정에 추가할 수 있습니다.
대형 러너
GitHub Team 및 GitHub Enterprise Cloud 플랜을 사용하는 고객은 표준 GitHub 호스트형 실행기보다 더 많은 리소스를 제공하는 다양한 관리형 가상 머신 중에서 선택할 수 있습니다. 이러한 컴퓨터를 "더 큰 실행기"라고 합니다. 다음과 같은 고급 기능을 제공합니다.
- 더 많은 RAM, CPU 및 디스크 공간
- 고정 IP 주소
- Azure 개인 네트워킹
- 주자를 그룹화할 수 있는 기능
- 동시 워크플로를 지원하기 위한 자동 크기 조정
- GPU 기반 실행기
이러한 대형 러너는 GitHub에서 호스팅되며 실행기 애플리케이션 및 기타 도구가 미리 설치되어 있습니다.
자세한 내용은 더 큰 실행기 사용을(를) 참조하세요.
관리자 권한
Linux 및 macOS 가상 머신은 모두 암호 없는 sudo
를 사용하여 실행됩니다. 명령을 실행하거나 현재 사용자보다 더 많은 권한이 필요한 도구를 설치해야 하는 경우 암호를 제공하지 않고 sudo
를 사용할 수 있습니다. 자세한 내용은 sudo 설명서를 참조하세요.
Windows 가상 머신은 UAC(사용자 계정 컨트롤)를 사용하지 않고 관리자로 실행하도록 구성됩니다. 자세한 내용은 Windows 설명서의 사용자 계정 컨트롤의 작동 방식을 참조하세요.
IP 주소
GitHub Actions가 GitHub 호스팅 실행기에서 사용하는 IP 주소 범위 목록을 얻으려면 GitHub REST API를 사용할 수 있습니다. 자세한 내용은 GET /meta
엔드포인트의 응답에 있는 actions
키를 참조하세요. 자세한 내용은 메타 데이터에 대한 REST API 엔드포인트을(를) 참조하세요.
Windows 및 Ubuntu 실행기는 Azure에서 호스트되며 이후 Azure 데이터 센터와 동일한 IP 주소 범위를 갖습니다. macOS 실행기는 GitHub의 자체 macOS 클라우드에서 호스트됩니다.
GitHub 호스팅 실행기의 IP 주소 범위가 너무 많으므로 이를 내부 리소스에 대한 허용 목록으로 사용하지 않는 것이 좋습니다. 대신 고정 IP 주소 범위가 있는 더 큰 실행기 또는 자체 호스팅 실행기를 사용하는 것이 좋습니다. 자세한 내용은 더 큰 실행기 사용 또는 자체 호스팅 실행기을(를) 참조하세요.
API에서 반환하는 GitHub Actions IP 주소 목록은 일주일에 한 번 업데이트됩니다.
GitHub 호스팅 실행기 통신 요구 사항
GitHub에서 호스팅 실행기는 필수 통신 작업을 수행하려면 GitHub 소유 엔드포인트에 대한 연결을 설정해야 합니다. 또한 실행기는 작업 내에서 지정하거나 활용하는 추가 네트워크에 대한 액세스가 필요할 수 있습니다.
구성 내의 네트워크 간에 GitHub에서 호스팅 실행기를 위한 적절한 통신을 보장하려면 다음 통신이 허용되는지 확인합니다.
참고 항목
나열된 도메인 중 일부는 CNAME
레코드를 사용하여 구성됩니다. 일부 방화벽에서는 모든 CNAME
레코드에 대해 규칙을 재귀적으로 추가해야 할 수 있습니다. CNAME
레코드는 나중에 변경될 수 있으며 나열된 도메인만 일정하게 유지됩니다.
다음은 필수 작업에 필요합니다.
github.com api.github.com *.actions.githubusercontent.com
github.com
api.github.com
*.actions.githubusercontent.com
다음은 작업을 다운로드하는 데 필요합니다.
codeload.github.com pkg.actions.githubusercontent.com
codeload.github.com
pkg.actions.githubusercontent.com
변경할 수 없는 작업을 게시하는 데 필요합니다.
ghcr.io
ghcr.io
다음은 작업 요약, 로그, 워크플로 아티팩트 및 캐시 업로드/다운로드에 필요합니다.
results-receiver.actions.githubusercontent.com *.blob.core.windows.net
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
objects.githubusercontent.com
objects-origin.githubusercontent.com
github-releases.githubusercontent.com
github-registry-files.githubusercontent.com
다음은 OIDC 토큰을 검색하는 데 필요합니다.
*.actions.githubusercontent.com
*.actions.githubusercontent.com
패키지 또는 컨테이너를 GitHub 패키지에 다운로드하거나 게시하는 데 필요합니다.
*.pkg.github.com pkg-containers.githubusercontent.com ghcr.io
*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io
Git 대용량 파일 스토리지에 필요
github-cloud.githubusercontent.com github-cloud.s3.amazonaws.com
github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com
Dependabot updates에 대한 작업에 필요
dependabot-actions.githubapp.com
dependabot-actions.githubapp.com
파일 시스템
GitHub는 가상 머신의 특정 디렉터리에서 작업 및 셸 명령을 실행합니다. 가상 머신의 파일 경로는 고정적이지 않습니다. GitHub에서 제공하는 환경 변수를 사용하여 home
, workspace
및 workflow
디렉터리에 대한 파일 경로를 생성합니다.
디렉터리 | 환경 변수 | 설명 |
---|---|---|
home | HOME | 사용자 관련 데이터를 포함합니다. 예를 들어 이 디렉터리에는 로그인 시도의 자격 증명이 포함될 수 있습니다. |
workspace | GITHUB_WORKSPACE | 작업 및 셸 명령이 이 디렉터리에서 실행됩니다. 작업은 후속 작업이 액세스할 수 있는 이 디렉터리의 콘텐츠를 수정할 수 있습니다. |
workflow/event.json | GITHUB_EVENT_PATH | 워크플로를 트리거한 웹후크 이벤트의 POST 페이로드입니다. GitHub는 작업 간에 파일 콘텐츠를 격리하기 위해 작업을 실행할 때마다 이를 다시 작성합니다. |
각 워크플로에 대해 GitHub가 만드는 환경 변수 목록은 변수에 정보 저장을(를) 참조하세요.
Docker 컨테이너 파일 시스템
Docker 컨테이너에서 실행되는 작업에는 /github
경로 아래에 고정 디렉터리가 있습니다. 그러나 기본 환경 변수를 사용하여 Docker 컨테이너에서 파일 경로를 생성하는 것이 좋습니다.
GitHub는 /github
경로 접두사를 예약하고 작업에 대한 세 개의 디렉터리를 만듭니다.
/github/home
/github/workspace
- 참고: GitHub Actions는 기본 Docker 사용자(루트)가 실행해야 합니다. Dockerfile이USER
명령을 설정하지 않았는지 확인하세요. 그렇지 않으면GITHUB_WORKSPACE
에 액세스할 수 없습니다./github/workflow