注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。
含まれているセットアップアクションとランナーツールキャッシュについて
GitHub Enterprise Server上のGitHub Actionsは、完全なインターネットアクセスのない環境で動作するように設計されています。 既定では、ワークフローは GitHub.com と GitHub Marketplace からのアクションを使用できません。
GitHub が作成した公式のアクションのほとんどは、GitHub Enterprise Server に自動的にバンドルされます。 ただし、インターネットにアクセスできないセルフホステッド ランナーでは、setup-node
などの付属の actions/setup-LANGUAGE
アクションを使用する前に、いくつかの構成が必要です。
actions/setup-LANGUAGE
アクションは通常、必要な環境バイナリをランナーのツール キャッシュにダウンロードするためにインターネット アクセスが必要です。 インターネットにアクセスできないセルフホストのランナーはバイナリをダウンロードできないため、ランナーのツールキャッシュに手動でデータを入力する必要があります。
GitHub.com で GitHub Actions ワークフローを実行してランナーツールキャッシュにデータを入力できます。このワークフローは、GitHub ホストランナーのツールキャッシュをアーティファクトとしてアップロードし、インターネットで切断されたセルフホストランナーで転送および抽出できます。
注: GitHub ホステッド ランナーのツール キャッシュは、同じオペレーティング システムとアーキテクチャを含むセルフホステッド ランナーにのみ使用できます。 たとえば、ubuntu-22.04
GitHub ホステッド ランナーを使用してツール キャッシュを生成している場合、セルフホステッド ランナーは 64 ビットの Ubuntu 22.04 マシンである必要があります。 GitHub ホスト ランナーについて詳しくは、「GitHub ホステッド ランナーの使用」をご覧ください。
前提条件
- セルフホストランナーに必要な開発環境を決定します。 次の例は、Node.js バージョン 14 および 16 を使用して、
setup-node
アクションのツール キャッシュにデータを入力する方法を示しています。 - ワークフロー実行に使用できる GitHub.com のリポジトリへのアクセス。
- セルフホストのランナーのファイルシステムにアクセスして、ツールのキャッシュフォルダーにデータを入力します。
セルフホストランナーのツールキャッシュに入力する
-
GitHub.com で、GitHub Actions ワークフローの実行に使用できるリポジトリに移動します。
-
GitHub ホステッド ランナーのツール キャッシュを含む成果物をアップロードする、リポジトリの
.github/workflows
フォルダーに新しいワークフロー ファイルを作成します。次の例は、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 環境をツール キャッシュに入力する必要があります。