Skip to main content

GitHub Enterprise Server の GitHub Actions を使い始める

GitHub Enterprise Server での GitHub Actions の有効化と設定について初めて学びます。

Who can use this feature

Site administrators can enable GitHub Actions and configure enterprise settings.

注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。

GitHub Enterprise Server の GitHub Actions について

この記事では、サイト管理者が GitHub Actions を使用するように GitHub Enterprise Server を設定する方法について説明しています。

GitHub Actions は GitHub Enterprise Server に対し、既定では有効になっていません。パフォーマンスを損なうことなく、GitHub Actions からの負荷を処理するのに十分な CPU リソースとメモリ リソースがインスタンスにあるかどうかを判断し、可能な場合それらのリソースを増やす必要があります。 また、ワークフロー実行によって生成された成果物とキャッシュを格納するために必要な BLOB ストレージに使用するストレージ プロバイダーを決定する必要があります。 次に、エンタープライズに対して GitHub Actions を有効にし、アクセス許可を管理し、セルフホステッド ランナーを追加してワークフローを実行します。

開始する前に、GitHub Actions をエンタープライズに導入する方法を計画する必要があります。 詳細については、「GitHub Actions をエンタープライズに導入する」を参照してください。

Enterprise を別のプロバイダーから GitHub Actions に移行する場合は、追加の考慮事項があります。 詳細については、「Enterprise を GitHub Actions に移行する」を参照してください。

ハードウェア要件を確認する

your GitHub Enterprise Server instance に使用できる CPU リソースとメモリ リソースによって、パフォーマンスを損なうことなく構成できるランナー数が決まります。 GitHub では、GitHub Actions を実行するために、少なくとも 8 つの vCPU と 64 GB のメモリを推奨しています。

パフォーマンスを損なわない接続ランナーのピーク数は、ジョブ期間、成果物の使用量、アクションを実行しているリポジトリの数、インスタンスでのアクションに関連しない他の作業の量などの要因によって異なります。 GitHub の内部テストを通じ、CPU とメモリの構成の範囲で GitHub Enterprise Server に関する次のパフォーマンス目標を実証しました。

vCPU 数メモリ最大接続ランナー数
864 GB740 ランナー
32160 GB2700 ランナー
96384 GB7000 ランナー
128512 GB7000 ランナー

GitHub は、複数のリポジトリ、約 10 分のジョブ期間、10 MB の成果物のアップロードを使って最大接続ランナーを測定しました。 インスタンスのアクティビティの全体的なレベルにより、パフォーマンスが異なる場合があります。

注:

  • GitHub Enterprise Server 3.6 以降、GitHub はコンカレント ジョブではなく接続ランナーと記載するようになりました。 接続ランナーとは、接続し、利用可能と想定することができる最も多くのランナーを表します。 また、利用可能と想定できる数よりも多くのランナーに接続すると、パフォーマンスに悪影響が及ぶ可能性があることに注意してください。

  • GitHub Enterprise Server 3.5 以降、GitHub の内部テストでは、一般的な顧客構成をより適切に反映するために第 3 世代 CPU を使っています。 CPU のこの変更は、このバージョンの GitHub Enterprise Server のパフォーマンス目標の変更に多少影響しています。

既存のインスタンスのユーザーに対して GitHub Actions を有効化したい場合は、ユーザーのアクティビティとインスタンスの自動化のレベルを確認し、ユーザーに適切な CPU とメモリをプロビジョニングしたことを確認してください。 GitHub Enterprise Server の容量とパフォーマンスの監視の詳細については、「アプライアンスを監視する」を参照してください。

your GitHub Enterprise Server instance の最小ハードウェア要件の詳細については、インスタンスのプラットフォームのハードウェアに関する考慮事項を参照してください。

既存のインスタンスのリソースの調整の詳細については、「ストレージ容量の増加」および「CPU またはメモリ リソースの増加」を参照してください。

必要に応じて、GitHub Actions のレート制限を設定することで、your GitHub Enterprise Server instance のリソース消費量を制限できます。 詳細については、「レート制限の設定」を参照してください。

外部ストレージの要件

GitHub Enterprise Server で GitHub Actions を有効にするには、外部 Blob ストレージにアクセスできる必要があります。

GitHub Actions は、BLOB ストレージを使って、ワークフロー ログ、キャッシュ、ユーザーがアップロードしたビルド成果物など、ワークフロー実行によって生成されたデータを保存します。 必要なストレージ容量は、GitHub Actions の使用状況により異なります。 単一の外部ストレージ設定のみがサポートされており、複数のストレージプロバイダを同時に使用することはできません。

GitHub Actions は、次のストレージプロバイダをサポートしています。

  • Azure Blob Storage
  • Amazon S3
  • NAS ストレージ用の S3 対応 MinIO ゲートウェイ

注: これらは、GitHub がサポートし、支援を提供できる唯一のストレージ プロバイダーです。 他の S3 API 互換のストレージプロバイダは、S3 API との違いにより、機能しない可能性があります。 追加のストレージ プロバイダーのサポートが必要な場合は、お問い合わせください

警告: MinIO は MinIO Gateway の削除を発表しています。 2022 年 6 月 1 日以降、現在の MinIO NAS ゲートウェイ実装のサポートとバグ修正は、LTS サポート 契約を結んだ有料のお客様のみが利用できるようになります。 GitHub Actions で引き続き MinIO ゲートウェイを使用する場合は、MinIO LTS のサポートに移行することをお勧めします。 詳細については、minio/minio リポジトリ内の GCS、Azure、HDFS 用 MinIO Gateway のスケジュールされた削除に関するページを参照してください。

GitHub Actions を有効にする前に、ghe-actions-precheck ユーティリティを使用して管理シェルからストレージ構成をテストできます。 詳細については、「コマンド ライン ユーティリティ」と「管理シェル (SSH) にアクセスする」を参照してください。

ネットワークに関する考慮事項

エンタープライズ用に GitHub Actions が有効になっている場合、HTTP プロキシのみがサポートされます。 SOCKS5 プロキシと HTTPS プロキシはサポートされていません。GitHub Enterprise Server でプロキシを使用する方法の詳細については、「送信 Web プロキシ サーバーの構成」を参照してください。

ストレージプロバイダで GitHub Actions を有効化する

以下の手順のいずれかに従って、選択したストレージプロバイダで GitHub Actions を有効にします。

Enterprise 内の GitHub Actions のアクセス権限を管理する

ポリシーを使用して、GitHub Actions へのアクセスを管理できます。 詳細については、「エンタープライズでの GitHub Actions ポリシーの適用」を参照してください。

自己ホストランナーの追加

注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。

GitHub Actions ワークフローを実行するには、セルフホストランナーを追加する必要があります。 Enterprise、Organization、リポジトリレベルでセルフホストランナーを追加できます。 詳細については、「セルフホストランナーの追加」を参照してください。

Enterprise で使用できるアクションを管理する

ユーザーが Enterprise で使用できるアクションを制御できます。 これには、GitHub.com からのアクションへの自動アクセス用の GitHub Connect の設定、または GitHub.com からのアクションの手動同期が含まれます。

詳細については、「エンタープライズでのアクションの使用について」を参照してください。

GitHub Actions の一般的なセキュリティ強化

GitHub Actions のセキュリティ プラクティスの詳細については、「GitHub Actions のセキュリティ強化」を参照してください。

予約済みの名前

エンタープライズで GitHub Actions を有効にすると、githubactions の 2 つの組織が作成されます。 エンタープライズが既に組織名 github を使用している場合は、github-org (または、github-org も使用している場合は github-github-org) が代わりに使用されます。 エンタープライズが既に組織名 actions を使用している場合は、github-actions (または、github-actions も使用している場合は github-actions-org) が代わりに使用されます。 アクションが有効になると、これらの名前を使用できなくなります。