システムの概要
GitHub Enterprise Server は仮想化アプライアンス内に含まれる GitHub のお客様の Organization のプライベートなコピーで、オンプレミスあるいはクラウド上でホストされ、お客様が設定およびコントロールできます。
ここには以下の内容があります:
ストレージアーキテクチャ
GitHub Enterprise Server 仮想アプライアンスは、2 つのストレージボリュームを必要とします。1 つはルートファイルシステムパス (/
) にマウントされるもので、もう 1 つはユーザファイルシステムパス (/data/user
) にマウントされるものです。 このアーキテクチャは、動作するソフトウェアの環境を永続的なアプリケーションデータから分離することによって、アップグレード、ロールバック、リカバリの手続きをシンプルにします。
ルートファイルシステムは、配布されているマシンイメージに含まれています。 ルートファイルシステムにはベースのオペレーティングシステムと GitHub Enterprise Server アプリケーション環境が含まれています。 ルートファイルシステムは、一過性のものとして扱われなければなりません。 ルートファイルシステム上にあるデータは、すべて将来の GitHub Enterprise Server リリースへのアップグレード時に置き換えられます。
ルートファイルシステムには以下が含まれます:
- カスタムの認証局 (CA) 証明書 (/usr/local/share/ca-certificates)
- カスタムのネットワーク設定
- カスタムのファイアウォール設定
- レプリケーションの状態
ユーザファイルシステムには、以下のようなユーザ設定とデータが含まれます:
- Git リポジトリ
- データベース
- 検索インデックス
- GitHub Pages サイトで公開されたコンテンツ
- Git Large File Storage からの大きなファイル
- pre-receive フック環境
デプロイメントの選択肢
GitHub Enterprise Server は単一の仮想アプライアンスとしても、High Availability 構成としてもデプロイできます。 詳細は「High Availability 用に GitHub Enterprise Server を設定する」を参照してください。
数万人の開発者がいる組織の場合、GitHub Enterprise Server クラスタリングも有益かもしれません。 詳しい情報については"クラスタリングの概要"を参照してください。
データのリテンションとデータセンターの冗長性
GitHub Enterprise Server を本番環境で使う前に、バックアップとシステム災害復旧計画をセットアップしておくことを強くおすすめします。 詳しくは、" アプライアンスでのバックアップの設定。"を参照してください。
GitHub Enterprise Server には、GitHub Enterprise Serverバックアップユーティリティ でのオンラインおよびインクリメンタルバックアップのサポートが含まれています。 インクリメンタルスナップショットは、オフサイトや地理的に離れたストレージのために長距離を経てセキュアなネットワークリンク(SSH管理ポート)経由で取ることができます。 スナップショットは、プライマリデータセンターにおける災害時のリカバリにおいて、新たにプロビジョニングされた GitHub Enterprise Server 仮想アプライアンスにネットワーク経由でリストアできます。
ネットワークバックアップに加えて、アプライアンスがオフラインになっているかメンテナンスモードになっている間に、ユーザストレージボリュームのAWS(EBS)やVMWareのディスクスナップショットがサポートされています。 サービスレベルの要求が定期的なオフラインメンテナンスを許せるものであれば、定期的なボリュームのスナップショットは、GitHub Enterprise Serverバックアップユーティリティのネットワークバックアップの低コストで複雑さの低い代替になります。
詳しくは、" アプライアンスでのバックアップの設定。"を参照してください。
GitHub Enterprise Server のオープンソース依存性
使用しているアプライアンスのバージョンの GitHub Enterprise Server における依存対象の完全なリストは、それぞれのプロジェクトのライセンスと合わせて http(s)://HOSTNAME/site/credits
で見ることができます。
依存関係と関連するメタデータの完全なリストと合わせて、Tarball 群はアプライアンス上にあります。
- すべてのプラットフォームに共通の依存関係は
/usr/local/share/enterprise/dependencies-<GHE version>-base.tar.gz
にあります。 - プラットフォームに固有の依存関係は
/usr/local/share/enterprise/dependencies-<GHE version>-<platform>.tar.gz
にあります。
依存対象とメタデータの完全なリストとともにTarball群もhttps://enterprise.github.com/releases/<version>/download.html
にあります。