インターナルリポジトリについて
インターナルリポジトリは、GitHub Enterprise Server 2.20+で利用できます。 インターナルリポジトリを使って、Enterprise内で「インナーソース」を実践できます。 Enterpriseアカウントのメンバーは、プライベートモードを無効化されていても、プロプライエタリな情報をパブリックに共有することなく、オープンソースの方法論を用いてコラボレートできます。 詳しい情報については「リポジトリの可視性について」を参照してください。
GitHub Enterprise Serverの将来のリリースでは、リポジトリの可視性の動作を調整し、パブリック、インターナル、プライベートという用語がGitHub Enterprise ServerとGitHub Enterprise Cloudの開発者に対して統一的な意味合いを持つようにします。
これらの変更に備えるために、もしプライベートモードを有効化しているなら、インスタンスで移行を行ってパブリックリポジトリをインターナルに変換できます。 この移行は現時点ではオプションであり、非プロダクションのインスタンスで変更をテストできるようにするためのものです。 この移行は、将来は必須になります。
移行を行うと、インスタンス上でOrganizationが所有するすべてのパブリックリポジトリは、インターナルリポジトリになります。 それらのリポジトリのいずれかがフォークを持っていれば、そのフォークはプライベートになります。 プライベートリポジトリは、プライベートのままになります。
インスタンス上でユーザアカウントが所有するすべてのパブリックリポジトリは、プライベートリポジトリになります。 それらのリポジトリのいずれかがフォークを持っていれば、そのフォークもプライベートになります。 各フォークの所有者は、フォークの親に対して読み取り権限が与えられます。
インターナルもしくはプライベートになるパブリックリポジトリに対する匿名Git読み取りアクセスは、無効化されます。
リポジトリに対する現在のデフォルトの可視性がパブリックであれば、デフォルトはインターナルになります。 現在のデフォルトがプライベートであれば、デフォルトは変更されません。 デフォルトはいつでも変更できます。 詳しい情報については、「Enterprise でリポジトリ管理ポリシーを適用する」を参照してください。
インスタンスに対するリポジトリの作成ポリシーは、パブリックリポジトリの無効化とプライベート及びインターナルリポジトリの許可に変更されます。 このポリシーはいつでも更新できます。 詳しい情報については「インスタンスでのリポジトリ作成の制限」を参照してください。
プライベートモードを有効化していないなら、移行スクリプトは何もしません。
移行の実施
-
管理シェルに接続します。 詳しい情報については「管理シェル(SSH)にアクセスする」を参照してください。
-
/data/github/current
ディレクトリにアクセスしてください。cd /data/github/current
-
移行コマンドを実行してください。
sudo bin/safe-ruby lib/github/transitions/20191210220630_convert_public_ghes_repos_to_internal.rb --verbose -w | tee -a /tmp/convert_public_ghes_repos_to_internal.log
ログの出力は、ターミナルと/tmp/convert_public_ghes_repos_to_internal.log
に対して行われます。