セルフホステッド ランナーは お使いの GitHub Enterprise Server インスタンス に接続して、ジョブの割り当てを受け取り、ランナー アプリケーションの新しいバージョンをダウンロードします。 セルフホステッド ランナーは、HTTP(S) の "ロング ポーリング" を使います。これは、GitHub に対して 50 秒間接続を開き、応答を受信しない場合は、タイムアウトして新しいロング ポーリングを作成します。 アプリケーションは、GitHub Actionsジョブを受け付けて実行するためにマシン上で動作していなければなりません。
GitHub Actionsランナーアプリケーションはオープンソースです。 ランナー リポジトリでイシューを投稿およびファイルできます。 新しいバージョンがリリースされると、ランナー アプリケーションは 24 時間以内に自動的に更新されます。
Note
エフェメラル ランナーを使用しており、自動更新を無効にしている場合は、GitHub Enterprise Server をアップグレードする前に、まず、アップグレードしたインスタンスが実行されるランナー アプリケーションのバージョンにセルフホスト ランナーをアップグレードしておく必要があります。 エフェメラル ランナーをアップグレードする前に GitHub Enterprise Server をアップグレードした場合、ランナーがオフラインになる可能性があります。 詳しくは、「アップグレード プロセスの概要」をご覧ください。
14 日以上 GitHub Actions に接続していないセルフホステッド ランナーは、GitHub から自動的に削除されます。 1 日以上 GitHub Actions に接続していないエフェメラル セルフホステッド ランナーは、GitHub から自動的に削除されます。
セルフホステッド ランナーと GitHub 間の接続は、HTTP (ポート 80) または HTTPS (ポート 443) を経由します。 HTTPS 経由で確実に接続を行うには、GitHub Enterprise Server に対して TLS を構成します。 詳細については、「TLSの設定」を参照してください。
ランナーから GitHub Enterprise Server への送信接続のみが必要となります。 GitHub Enterprise Server からランナーへの受信接続は必要ありません。 キャッシュを機能させるには、ランナーが BLOB ストレージと通信し、そこからコンテンツを直接ダウンロードできる必要があります。
GitHub Enterprise Server は、お使いの GitHub Enterprise Server インスタンス のホスト名と API サブドメインで、ランナーからの HTTP(S) 経由のインバウンド接続を受け入れる必要があります。ランナーは、お使いの GitHub Enterprise Server インスタンス のホスト名と API サブドメインへの、HTTP(S) 経由のアウトバウンド接続を許可する必要があります。
自己ホスト ランナーは、外部のインターネット アクセスを必要とせずに機能します。 その結果、ネットワーク ルーティングを使用して、自己ホスト ランナーと GitHub Enterprise Server の間の通信を管理できます。 たとえば、プライベート IP アドレスを自己ホスト ランナーに割り当て、トラフィックを GitHub Enterprise Server に送信するようにルーティングを構成できます。トラフィックが公衆ネットワークを通過する必要はありません。
自己ホスト ランナーと GitHub.com の間の通信
GitHub Enterprise Server の GitHub.com アクションへの自動アクセスを有効にしている場合を除き、自己ホスト ランナーが GitHub.com に接続する必要はありません。 詳しくは、「Enterprise でのアクションの使用について」をご覧ください。
GitHub.com アクションへの自動アクセスを有効にした場合、自己ホスト ランナーでは GitHub.com に直接接続してアクションをダウンロードします。 下記の GitHub の URL と通信するための適切なネットワークアクセスがマシンにあることを確認する必要があります。
github.com api.github.com codeload.github.com pkg.actions.githubusercontent.com
github.com
api.github.com
codeload.github.com
pkg.actions.githubusercontent.com
Note
一覧表示されているドメインの一部は、CNAME
レコードを使用して構成されます。 ファイアウォールによっては、すべての CNAME
レコードに対して規則を再帰的に追加する必要がある場合があります。 CNAME
レコードは今後変更される可能性があり、一覧表示されているドメインのみが一定のままであることに注意してください。