注: 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 に移行する場合は、追加の考慮事項があります。 詳しくは、「GitHub Actions への Enterprise の移行」を参照してください。
ハードウェア要件を確認する
お使いの GitHub Enterprise Server インスタンス で使える CPU リソースとメモリ リソースにより、パフォーマンスを損なうことなく同時に実行できるジョブの数が決まります。 GitHub では、GitHub Actions を実行するために、少なくとも 8 つの vCPU と 64 GB のメモリを推奨しています。
パフォーマンスを損なうことなく実行できる同時実行ジョブのピーク数は、ジョブ期間、成果物の使用量、アクションを実行しているリポジトリの数、インスタンスでのアクションに関連しない他の作業の量などの要因によって異なります。 GitHub の内部テストを通じ、CPU とメモリの構成の範囲で GitHub Enterprise Server に関する次のパフォーマンス目標を実証しました。
vCPU 数 | メモリ | 最大コンカレンシー |
---|---|---|
8 | 64 GB | 300 ジョブ |
16 | 128 GB | 700 ジョブ |
32 | 160 GB | 1,500 ジョブ |
64 | 256 GB | 2,500 ジョブ |
96 | 384 GB | 4,500 ジョブ |
128 | 550 GB | 5,000 ジョブ |
最大コンカレンシーは、複数のリポジトリ、約 10 分のジョブ期間、および 10 MB の成果物のアップロードに基づいて測定されました。 インスタンスのアクティビティの全体的なレベルにより、パフォーマンスが異なる場合があります。
既存のインスタンスのユーザーに対して GitHub Actions を有効化したい場合は、ユーザーのアクティビティとインスタンスの自動化のレベルを確認し、ユーザーに適切な CPU とメモリをプロビジョニングしたことを確認してください。 GitHub Enterprise Server の容量とパフォーマンスの監視について詳しくは、「アプライアンスを監視する」をご覧ください。
お使いの GitHub Enterprise Server インスタンス の最小ハードウェア要件について詳しくは、インスタンスのプラットフォームのハードウェアに関する考慮事項をご覧ください。
既存インスタンスのリソース調整の詳細については、「ストレージ容量の増加」と「CPUあるいはメモリリソースの増加」を参照してください。
外部ストレージの要件
GitHub Enterprise Server で GitHub Actions を有効にするには、外部 Blob ストレージにアクセスできる必要があります。
GitHub Actions は、ワークフロー ログ、ユーザーがアップロードしたビルド成果物など、ワークフローの実行によって生成されたデータを、外部の BLOB ストレージを使って保存します。 必要なストレージ容量は、GitHub Actions の使用状況により異なります。 単一の外部ストレージ設定のみがサポートされており、複数のストレージプロバイダを同時に使用することはできません。
リポジトリのファイル構造のワークフロー ファイルなど、その他の GitHub Actions データはすべて、お使いの GitHub Enterprise Server インスタンス のデータ ストレージ ボリュームに保存されます。
GitHub Actions は、次のストレージプロバイダをサポートしています。
- Azure Blob Storage
- Amazon S3
- S3 互換 MinIO クラスター
注: これらは、GitHub がサポートし、支援を提供できる唯一のストレージ プロバイダーです。
GitHub パートナーが GitHub Enterprise Server 上で GitHub Actions を操作していると自己検証している S3 API 互換ストレージ製品は他にもあります。 詳細については、GHES ストレージ パートナー リポジトリを参照してください。
GitHub テクノロジ パートナーシップ プログラムを通じて検証されたストレージ製品の場合、ストレージ プロバイダーは、GitHub Actions でストレージ製品を使用するためのサポートとドキュメントを担当します。
ネットワークに関する考慮事項
エンタープライズ用に GitHub Actions が有効になっている場合、HTTP プロキシのみがサポートされます。 SOCKS5 プロキシと HTTPS プロキシはサポートされていません。GitHub Enterprise Server でプロキシを使用する方法の詳細については、「アウトバウンドの Web プロキシ サーバーの設定」を参照してください。
ストレージプロバイダで GitHub Actions を有効化する
以下の手順のいずれかに従って、選択したストレージプロバイダで GitHub Actions を有効にします。
- Azure Blob ストレージで GitHub Actions を有効化する
- Amazon S3 ストレージで GitHub Actions を有効にする
- MinIO ストレージで 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 からのアクションの手動同期が含まれます。
詳しくは、「Enterprise でのアクションの使用について」を参照してください。
GitHub Actions の一般的なセキュリティ強化
GitHub Actions のセキュリティ プラクティスの詳細については、「GitHub Actions のセキュリティ強化」を参照してください。
予約済みの名前
エンタープライズで GitHub Actions を有効にすると、github
と actions
の 2 つの組織が作成されます。 エンタープライズが既に組織名 github
を使用している場合は、github-org
(または、github-org
も使用している場合は github-github-org
) が代わりに使用されます。 エンタープライズが既に組織名 actions
を使用している場合は、github-actions
(または、github-actions
も使用している場合は github-actions-org
) が代わりに使用されます。 アクションが有効になると、これらの名前を使用できなくなります。