참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.
포함된 설정 작업 및 실행기 도구 캐시 정보
GitHub Enterprise Server의 GitHub Actions는 완전한 인터넷 액세스가 없는 환경에서도 작동하도록 설계되었습니다. 기본적으로 워크플로는 GitHub.com 및 GitHub Marketplace의 작업을 사용할 수 없습니다.
GitHub에서 작성된 대부분의 공식 작업은 자동으로 GitHub Enterprise Server와 번들됩니다. 그러나 인터넷에 액세스할 수 없는 자체 호스팅 실행기가 포함된 actions/setup-LANGUAGE
작업(예: setup-node
)을 사용하려면 몇 가지 구성이 필요합니다.
actions/setup-LANGUAGE
작업은 일반적으로 필요한 환경 이진 파일을 실행기 도구 캐시에 다운로드하기 위해 인터넷에 액세스할 수 있어야 합니다. 인터넷에 액세스할 수 없는 자체 호스팅 실행기는 이진 파일을 다운로드할 수 없으므로 실행기의 도구 캐시를 수동으로 채워야 합니다.
GitHub.com에서 GitHub 호스팅 실행기의 도구 캐시를 아티팩트로 업로드하는 GitHub Actions 워크플로를 실행하여 실행기 도구 캐시를 채울 수 있습니다. 그런 다음, 인터넷 연결이 끊긴 자체 호스팅 실행기에서 아티팩트를 전송하고 추출할 수 있습니다.
참고: 운영 체제와 아키텍처가 동일한 자체 호스팅 실행기에서만 GitHub 호스팅 실행기의 도구 캐시를 사용할 수 있습니다. 예를 들어 ubuntu-22.04
GitHub 호스팅 실행기를 사용하여 도구 캐시를 생성하는 경우 자체 호스팅 실행기는 64비트 Ubuntu 22.04 머신이어야 합니다. GitHub 호스팅 실행기에 대한 자세한 내용은 “GitHub 호스팅 실행기 사용”을(를) 참조하세요.
필수 조건
- 자체 호스팅 실행기에 필요한 개발 환경을 결정합니다. 다음 예제에서는 Node.js 버전 14와 16를 사용하여
setup-node
작업용 도구 캐시를 채우는 방법을 보여 줍니다. - 워크플로를 실행하는 데 사용할 수 있는 GitHub.com의 리포지토리에 대한 액세스 권한
- 도구 캐시 폴더를 채울 자체 호스팅 실행기의 파일 시스템에 대한 액세스 권한
자체 호스팅 실행기용 도구 캐시 채우기
-
GitHub.com에서 GitHub Actions 워크플로를 실행하는 데 사용할 수 있는 리포지토리로 이동합니다.
-
리포지토리의
.github/workflows
폴더에 GitHub 호스팅 실행기의 도구 캐시가 포함된 아티팩트를 업로드하는 새 워크플로 파일을 만듭니다.다음 예제에서는 Node.js 버전 14과 16에서
setup-node
작업을 사용하여 Ubuntu 22.04 환경용 도구 캐시를 업로드하는 워크플로를 보여 줍니다.name: Upload Node.js 14 and 16 tool cache on: push jobs: upload_tool_cache: runs-on: ubuntu-22.04 steps: - name: Clear any existing tool cache run: | mv "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old" mkdir -p "${{ runner.tool_cache }}" - name: Setup Node 14 uses: actions/setup-node@v4 with: node-version: 14.x - name: Setup Node 16 uses: actions/setup-node@v4 with: node-version: 16.x - name: Archive tool cache run: | cd "${{ runner.tool_cache }}" tar -czf tool_cache.tar.gz * - name: Upload tool cache artifact uses: actions/upload-artifact@v3 with: path: ${{runner.tool_cache}}/tool_cache.tar.gz
-
워크플로 실행에서 도구 캐시 아티팩트를 다운로드합니다. 아티팩트 다운로드에 대한 지침은 "워크플로 아티팩트 다운로드"을 참조하세요.
-
도구 캐시 아티팩트를 자체 호스팅 실행기로 전송하고 로컬 도구 캐시 디렉터리에 추출합니다. 기본 도구 캐시 디렉터리는
RUNNER_DIR/_work/_tool
입니다. 실행기에서 아직 작업을 처리하지 않은 경우_work/_tool
디렉터리를 만들어야 할 수도 있습니다.위 예제에서 업로드된 도구 캐시 아티팩트를 추출하면 자체 호스팅 실행기에 다음 예제와 유사한 디렉터리 구조가 있습니다.
RUNNER_DIR ├── ... └── _work ├── ... └── _tool └── node ├── 14.21.3 │ └── ... └── 16.16.0 └── ...
인터넷에 액세스할 수 없는 자체 호스팅 실행기에서 이제 setup-node
작업을 사용할 수 있습니다. 문제가 있는 경우 워크플로에 맞는 도구 캐시를 채웠는지 확인합니다. 예를 들어 setup-python
작업을 사용해야 하는 경우 사용할 Python 환경으로 도구 캐시를 채워야 합니다.