Skip to main content

企業向けセルフホスト ランナーの概要

開発者が GitHub Actionsを使用してワークフローの自動化を開始できるように、エンタープライズ用のランナー マシンを構成できます。

この機能を使用できるユーザーについて

Enterprise owners and users with permissions can configure policies for GitHub Actions and add self-hosted runners to the enterprise.

GitHub Actions のセルフホステッド ランナーについて

GitHub Actions を使用すると、ソフトウェア開発ワークフローのすべてのフェーズを自動化することにより、企業のユーザーは生産性を向上させることができます。 詳細については、 AUTOTITLE を参照してください。

GitHub Actionsを使用すると、開発者はアクションと呼ばれる個々のタスクを作成して組み合わせてカスタム ワークフローを作成できます。

GitHub Actionsのお使いの GitHub Enterprise Server インスタンスを有効にするには、ジョブを実行するために少なくとも 1 つのマシンをホストする必要があります。 この マシンはセルフホステッド ランナーと呼ばれます。 ランナーマシンは、GitHubのセルフホステッド ランナー アプリケーションを使って GitHub Actions に接続します。 セルフホステッド ランナーは、Linux、Windows、または macOS に対応しています。 詳しくは、「セルフホステッド ランナー」をご覧ください。

このガイドでは、社内の GitHub Actions のセルフホステッド ランナーに一元管理アプローチを適用する方法について説明します。 このガイドでは、次のタスクを行います。

  1. 企業内で実行できるアクション を制限するように制限付きポリシーを構成する
  2. Enterprise にセルフホスト ランナーをデプロイする
  3. Enterprise で使用できるランナーへのアクセスを管理するためのグループを作成する
  4. 必要に応じて、ランナーを使用できるリポジトリをさらに制限する
  5. 必要に応じて、セルフホステッド ランナーを自動的に構築およびスケーリングするには、 Actions Runner Controller (ARC) を使用します。 詳しくは、「アクション ランナー コントローラー」をご覧ください。

また、セルフホステッド ランナーを監視してセキュリティで保護する方法、からアクションにアクセスする方法GitHub.com、ランナー マシンでソフトウェアをカスタマイズする方法に関する追加情報も確認できます。

ガイドが完了すると、企業のお使いの GitHub Enterprise Server インスタンスのユーザーは、セルフホステッド ランナー コンピューター上のGitHub Actionsからワークフロー ジョブを実行できるようになります。

前提条件

  • GitHub Actions は、 GitHub Enterprise Serverに対して有効にする必要があります。 サイト管理者は、インスタンスの GitHub Actions を有効にして構成できます。 詳しくは、「GitHub Enterprise Server で GitHub Actions を開始する方法」をご覧ください。

  • 環境内でセルフホステッド ランナーとして使用するマシンにアクセスできる必要があります。

  • セルフホステッド ランナーと GitHub 間の接続は、 HTTP (ポート 80) または HTTPS (ポート 443) 経由です。 HTTPS 経由の接続を確保するには、 GitHub Enterprise Serverの TLS を構成します。 詳細については、 AUTOTITLE を参照してください。

1. GitHub Actions のポリシーを設定する

まず、GitHub Actionsをすべての組織で有効にし、上でで実行できるアクションお使いの GitHub Enterprise Server インスタンスと再利用可能なワークフローを制限するポリシーを構成します。 必要に応じて、Organization 所有者は、各 Organization に対してこれらのポリシーをさらに制限できます。

  1. GitHub Enterprise Server の右上隅にあるプロフィール画像をクリックしてから、[Enterprise settings] をクリックします。
  2. ページの上部にある [ポリシーの] をクリックします。
  3. [ Policies] で、[Actions] をクリックします。
  4. [ポリシー] で、 [すべての Organization に対して有効にする] を選択します。
  5. ローカル アクション、GitHubによって作成されたアクションを有効にするには、 [Allow select actions](選択したアクションを許可する) を選択してから、[GitHubによって作成されたアクションを許可する] を選択します。
  6. [保存] をクリックします。

追加のポリシーを構成することで、 の お使いの GitHub Enterprise Server インスタンスenterprise members ユーザーが実行できるアクションを制限できます。 詳しくは、「企業でGitHub Actionsのポリシーを適用する」をご覧ください。

2. 企業向けのセルフホストランナーを展開する

次に、セルフホスト ランナーを Enterprise に追加します。 GitHub ランナーマシンに必要なソフトウェアのインストールを案内します。 ランナーをデプロイした後、ランナー マシンとお使いの GitHub Enterprise Server インスタンスとの間の接続を確認できます。

セルフホスト ランナーの追加

  1. GitHub Enterprise Server の右上隅にあるプロフィール画像をクリックしてから、[Enterprise settings] をクリックします。

  2. ページの上部にある [ポリシーの] をクリックします。

  3. [ Policies] で、[Actions] をクリックします。

  4. [Runners](ランナー) タブをクリックします。 1。 [新しいランナー] をクリックします。 1. 使用する自己ホスト ランナー マシンのオペレーティング システム イメージとアーキテクチャを選択します。

    オペレーティング システムとアーキテクチャの選択のスクリーンショット。 これらのオプションは、濃いオレンジ色の枠線で強調表示されています。

  5. ランナーアプリケーションをダウンロードして、使用する自己ホストランナーのマシンにインストールする方法が表示されます。

    自己ホストランナーのマシンでシェルを開き、表示順に従ってシェルコマンドを実行してください。

    メモ

    Windows では、自己ホスト ランナー アプリケーションをサービスとしてインストールする場合は、シェルを管理者特権で開く必要があります。 また、C:\actions-runner を自己ホスト ランナー アプリケーション用のディレクトリとして使用し、Windows のシステム アカウントでランナー ディレクトリにアクセスできるようにすることをお勧めします。

    この指示に従えば、以下のタスクが完了します。

    • セルフホスト ランナー アプリケーションのダウンロードと解凍。
    • config スクリプトを実行してセルフホステッド ランナー アプリケーションを構成し、GitHub Actionsに登録します。 config スクリプトには、登録先の URL と、リクエストを認証してもらうための自動的に生成された時間制限付きのトークンが必要です。 トークンは1時間後に期限切れになります。
    • セルフホステッド ランナー アプリケーションを実行してマシンを GitHub Actionsに接続する。

自己ホストランナーの追加に成功したことの確認

自己ホスト ランナーを追加する手順を完了すると、ランナーとその状態が "セルフホステッド ランナー" の下に表示されます。

ジョブをランナーが受け付けるためには、自己ホストランナーアプリケーションが動作していなければなりません。 ランナー アプリケーションが GitHub に接続されており、ジョブの受信準備ができたら、以下のメッセージがマシンのターミナルに表示されます。

√ Connected to GitHub

2019-10-24 05:45:56Z: Listening for Jobs

3. グループを使用してセルフホスト ランナーへのアクセスを管理する

ランナー グループを作成して、Enterprise に追加したランナーへのアクセスを管理できます。 グループを使用して、ランナーの GitHub Actions からジョブを実行できる組織を選択します。

GitHub は、すべての新しいランナーをグループに追加します。 ランナーは一度に 1 つのグループに含めることができます。 既定では、 GitHub は新しいランナーを "Default" グループに追加します。

  1. GitHub Enterprise Server の右上隅にあるプロフィール画像をクリックしてから、[Enterprise settings] をクリックします。

  2. ページの上部にある [ポリシーの] をクリックします。

  3. [ Policies] で、[Actions] をクリックします。

  4. [ランナー グループ] タブをクリックします。

  5. [New runner group](新しいランナー グループ) をクリックします。

  6. [グループ名] に、ランナー グループの名前を入力します。

  7. Organization のアクセスのポリシーを選択するには、[Organization のアクセス] で [Organization のアクセス] ドロップダウンを選択し、 [選択した Organization] をクリックします。

  8. 組織のアクセス ポリシーを含むドロップダウンの右側にある [ ] をクリックします。

  9. ランナー グループへのアクセス権を付与する対象の Organization を選択します。

  10. 必要に応じて、選択した Organization のパブリック リポジトリでグループ内のランナーを使用できるようにするには、 [パブリック リポジトリの許可] を選択します。

    警告

    自己ホストランナーは、プライベートリポジトリでのみ利用することをおすすめします。 これは、ワークフロー内でコードを実行する pull request を作成することで、パブリック リポジトリのフォークによって、自己ホスト ランナー マシン上で危険なコードが実行される可能性があるからです。

    詳しくは、「セキュリティで保護された使用に関するリファレンス」をご覧ください。

  11. [グループの作成] をクリックしてグループを作成し、ポリシーを適用します。

  12. [ランナー] タブをクリックします。

  13. ランナーの一覧で、前のセクションでデプロイしたランナーをクリックします。

  14. 編集 をクリックします。

  15. Runner groups をクリックします。

  16. ランナー グループの一覧で、前に作成したグループの名前をクリックします。

  17. [保存] をクリックするとランナーがグループに移動します。

これで、指定した組織内の GitHub Actions からジョブを実行できるセルフホステッド ランナーがデプロイされました。

4. セルフホスト ランナーへのアクセスをさらに制限する

必要に応じて、組織の所有者 および "組織ランナーとランナー グループの管理" アクセス許可を持つユーザーは 作成したランナー グループのアクセス ポリシーをさらに制限できます。 たとえば、Organization 所有者は、組織内の特定のリポジトリにのみランナー グループの使用を許可できます。

詳しくは、「グループを使用してセルフホストランナーへのアクセスを管理する」をご覧ください。

カスタム組織の役割の詳細については、「 カスタム組織ロールの権限」を参照してください。

5. セルフホスト ランナーを自動的にスケーリングする

必要に応じて、 Actions Runner Controller (ARC) を使用して、セルフホステッド ランナーを自動的にスケーリングできます。 Actions Runner Controller (ARC) は、 GitHub Actionsのセルフホステッド ランナーを調整およびスケーリングする Kubernetes オペレーターです。 詳細については、Kubernetes ドキュメントの「オペレーター パターン」を参照してください。

ARC を使うと、リポジトリ、組織、またはエンタープライズで実行中のワークフローの数に基づいて自動的にスケーリングされるランナー スケール セットを作成できます。 制御されたランナーは一時的でコンテナーに基づく可能性があるため、新しいランナー インスタンスを迅速かつクリーンにスケールアップまたはスケールダウンすることができます。 自動スケーリングの詳細については、「セルフホステッド ランナー リファレンス」を参照してください。

次のステップ

参考資料