ノート: GitHub Actionsは、GitHub Enterprise Server 2.22で限定ベータとして利用可能でした。 ベータは終了しました。 GitHub Actionsは、GitHub Enterprise Server 3.0以降で一般に利用可能になりました。 詳しい情報については、GitHub Enterprise Server 3.0 のリリースノートを参照してください。
- GitHub Enterprise Server 3.0以降へのアップグレードに関する詳しい情報については「GitHub Enterprise Serverのアップグレード」を参照してください。
- アップグレード後のGitHub Actionsの設定に関する詳しい情報については、GitHub Enterprise Server 3.0のドキュメンテーションを参照してください。
ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。
含まれているセットアップアクションとランナーツールキャッシュについて
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-18.04
GitHub ホストランナーを使用してツールキャッシュを生成している場合、セルフホストランナーは 64 ビットの Ubuntu18.04 マシンである必要があります。 サポートされている GitHub ホストランナーに関する詳しい情報については、「GitHub ホストランナーの仮想環境」を参照してください。
必要な環境
- セルフホストランナーに必要な開発環境を決定します。 次の例は、Node.js バージョン 10 および 12 を使用して、
setup-node
アクションのツールキャッシュにデータを入力する方法を示しています。 - ワークフロー実行に使用できる GitHub.com のリポジトリへのアクセス。
- セルフホストのランナーのファイルシステムにアクセスして、ツールのキャッシュフォルダーにデータを入力します。
セルフホストランナーのツールキャッシュに入力する
-
GitHub.com で、GitHub Actions ワークフローの実行に使用できるリポジトリに移動します。
-
GitHub ホストランナーのツールキャッシュを含むアーティファクトをアップロードする、リポジトリの
.github/workflows
フォルダに新しいワークフローファイルを作成します。次の例は、Node.js バージョン 10 および 12 で
setup-node
アクションを使用して、Ubuntu18.04 環境のツールキャッシュをアップロードするワークフローを示しています。name: Upload Node.js 10 and 12 tool cache on: push jobs: upload_tool_cache: runs-on: ubuntu-18.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 10 uses: actions/setup-node@v2 with: node-version: 10.x - name: Setup Node 12 uses: actions/setup-node@v2 with: node-version: 12.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@v2 with: path: ${{runner.tool_cache}}/tool_cache.tar.gz
-
ワークフロー実行からツールキャッシュアーティファクトをダウンロードします。 アーティファクトのダウンロード手順については、「ワークフローアーティファクトをダウンロードする」を参照してください。
-
ツールキャッシュアーティファクトをセルフホストランナーに転送し、ローカルツールキャッシュディレクトリに抽出します。 デフォルトのツールキャッシュディレクトリは
RUNNER_DIR/_work/_tool
です。 ランナーがまだジョブを処理していない場合は、_work/_tool
ディレクトリを作成する必要がある場合があります。上記の例でアップロードされたツールキャッシュアーティファクトを抽出した後、次の例のようなセルフホストランナーのディレクトリ構造を作成する必要があります。
RUNNER_DIR ├── ... └── _work ├── ... └── _tool └── node ├── 10.22.0 │ └── ... └── 12.18.3 └── ...
これで、インターネットにアクセスできないセルフホストランナーが setup-node
アクションを使用できるようになります。 問題が発生した場合は、ワークフローに適切なツールキャッシュを設定していることを確認してください。 たとえば、setup-python
アクションを使用する必要がある場合は、使用する Python 環境をツールキャッシュに入力する必要があります。