Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

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

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

この機能を使用できるユーザー

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

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

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

GitHub Actions を使用すると、開発者はアクションと呼ばれる個々のタスクを作成して組み合わせて、カスタム ワークフローを作成できます。 GitHub Actions を your GitHub Enterprise Server instance で有効にするには、ジョブを実行するマシンを少なくとも 1 台ホストする必要があります。このマシンは、セルフホスト ランナーと呼ばれます。 セルフホステッド ランナーは、物理または仮想にでき、コンテナー内、オンプレミス、またはクラウドに配置できます。ランナーマシンは、GitHub Actionsのセルフホストランナーアプリケーションを使ってGitHub Enterprise Serverに接続します。セルフホスト ランナーで Linux、Windows、または macOS を実行できます。 詳細については、セルフホステッド ランナーに関する記述をご覧ください。

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

  1. Enterprise 内で実行できるアクションを制約する制限付きポリシーを構成する
  2. Enterprise にセルフホスト ランナーをデプロイする
  3. Enterprise で使用できるランナーへのアクセスを管理するためのグループを作成する
  4. 必要に応じて、ランナーを使用できるリポジトリをさらに制限する
  5. 必要に応じて、カスタム ツールをビルドしてセルフホスト ランナーを自動的にスケーリングする

また、セルフホスト ランナーを監視およびセキュリティで保護する方法、GitHub.com からアクションにアクセスする方法、ランナー マシン上のソフトウェアをカスタマイズする方法についても詳しく説明します。

このガイドを完了すると、your GitHub Enterprise Server instance のユーザーは、セルフホスト ランナー マシン上で GitHub Actions からワークフロー ジョブを実行できるようになります。

前提条件

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

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

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

  • Enterprise は少なくとも 1 つの Organization を所有している必要があります。 詳細については、「Organization について」および「新しい Organization をゼロから作成」を参照してください。

1. GitHub Actions 用のポリシーを構成する

まず、すべての Organization に対して GitHub Actions を有効にし、your GitHub Enterprise Server instance で実行できるアクションを制限するポリシーを構成します。 必要に応じて、Organization 所有者は、各 Organization に対してこれらのポリシーをさらに制限できます。

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise] 1. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ 1. [ ポリシー] で、 [アクション] をクリックします。

  2. [ポリシー] で、 [すべての Organization に対して有効にする] を選択します。

    GitHub Actions の [すべての Organization に対して有効にする] ポリシーのスクリーンショット

  3. [Allow select actions](選択したアクションを許可する) および [GitHub によって作成されたアクションを許可] を選択して、ローカル アクションおよび GitHub で作成されたアクションを許可します。

    GitHub Actions での [select アクションを許可] と [GitHub で作成されたアクションを許可] のスクリーンショット

  4. [保存] をクリックします。

your GitHub Enterprise Server instance のユーザーが使用できるアクションを制限するために追加のポリシーを構成できます。 詳細については、「Enforcing policies for GitHub Actions in your enterprise (エンタープライズでフォーク pull request のポリシーを適用する)」を参照してください。

2. Enterprise のセルフホスト ランナーをデプロイする

次に、セルフホスト ランナーを Enterprise に追加します。 GitHub Enterprise Server により、ランナー マシンに必要なソフトウェアをインストールする手順が表示されます。 ランナーをデプロイした後、ランナー マシンと your GitHub Enterprise Server instance の間の接続を確認できます。

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

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise] 1. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ 1. [ ポリシー] で、 [アクション] をクリックします。 1. [Runners](ランナー) タブをクリックします。 1。 [新しいランナー] をクリックします。 1. 使用するセルフホスト ランナー マシンのオペレーティング システム イメージとアーキテクチャを選択します。

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

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

    注: Windows で、セルフホスト ランナー アプリケーションをサービスとしてインストールする場合は、シェルを管理者権限でオープンしなければなりません。 また、C:\actions-runner をセルフホスト ランナー アプリケーション用のディレクトリとして使用し、Windows のシステム アカウントでランナー ディレクトリにアクセスできるようにすることをお勧めします。

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

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

セルフホストランナーの追加に成功したことの確認

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

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

√ Connected to GitHub

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

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

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

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

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise] 1. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。

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

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

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

  5. Organization アクセス ポリシーのドロップダウンの右側にある をクリックします。

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

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

    警告:

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

    詳細については、セルフホステッド ランナーに関する記述をご覧ください。

    1. **[グループの作成]** をクリックし、グループを作成してポリシーを適用します。
  8. [ランナー] タブをクリックします。

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

  10. [編集] をクリックします。

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

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

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

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

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

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

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

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

必要に応じて、カスタム ツールを構築して、your GitHub Enterprise Server instance のセルフホスト ランナーを自動的にスケーリングできます。 たとえば、ツールで your GitHub Enterprise Server instance からの Webhook イベントに応答して、ランナー マシンのクラスターを自動的にスケーリングできます。 詳細については、「セルフホスト ランナーによる自動スケーリング」を参照してください。

次の手順

  • セルフホスト ランナーを監視し、一般的な問題のトラブルシューティングを行うことができます。 詳細については、「セルフホスト ランナーの監視とトラブルシューティング」を参照してください。

  • GitHub では、セルフホスト ランナー マシンのセキュリティに関する考慮事項を確認することをお勧めします。 詳細については、「GitHub Actions のセキュリティ強化」を参照してください。

  • GitHub.com 上のアクションを含むリポジトリを GitHub Enterprise Server 上の Enterprise に手動で同期できます。 または、GitHub Connect を使用して、Enterprise のメンバーが GitHub.com からアクションに自動的にアクセスできるようにすることもできます。 詳細については、次を参照してください。

  • セルフホスト ランナー マシンで使用できるソフトウェアをカスタマイズしたり、GitHub.com を使用しているお客様が利用可能なGitHub ホスト ランナーと同様のソフトウェアを実行するようにランナーを構成したりできます。 GitHub Actions 用のランナー マシンを支えるソフトウェアは、オープンソースです。 詳細については、actions/runner および actions/runner-images リポジトリを参照してください。

参考資料