GitHub リポジトリのミラーリング

このトピックでは、GitHub リポジトリを Cloud Source Repositories にミラーリングする方法について説明します。この構成では、GitHub リポジトリに push した commit は、Cloud Source Repositories でホストされているリポジトリにコピー(ミラーリング)されます。

Cloud Source Repositories にミラーリングできるのは、Bitbucket Cloud リポジトリと GitHub Cloud リポジトリのみです。セルフホストの Bitbucket および GitHub ミラーリングはサポートされていません。

GitHub リポジトリを Cloud Source Repositories にミラーリングして Cloud Build と統合し、他の Cloud Source Repositories 機能を必要としない場合は、GitHub からのリポジトリの作成に関する Cloud Build の手順に沿って操作します。

始める前に

リポジトリをミラーリングするときは、GitHub 認証情報を指定する必要があります。この認証情報により、Cloud Source Repositories は GitHub リポジトリのコンテンツにアクセスできるようになります。

GitHub の組織を使用している場合は、リポジトリのミラーリングなどの自動化タスク専用のマシンユーザー アカウントを使用することをおすすめします。このアカウントにはリポジトリへの管理者権限が必要です。

GitHub リポジトリをミラーリングする

このセクションでは、GitHub リポジトリを Cloud Source Repositories にミラーリングする方法について説明します。

ミラーリングされたリポジトリを作成する

このプロセスで、GitHub リポジトリへの Google Cloud 読み取り権限を付与する際に、GitHub マシンユーザーの認証情報が必要になります。

  1. Google Cloud Console で、Cloud Source Repositories を開きます。

    Cloud Source Repositories を開く

  2. [リポジトリを追加] をクリックします。

    [リポジトリの追加] ページが開きます。

  3. [外部リポジトリの接続] を選択し、[続行] をクリックします。

    [外部リポジトリの接続] ページが開きます。

  4. [プロジェクト] プルダウン リストで、ミラーリングされたリポジトリが属する Google Cloud プロジェクトを選択します。

    プロジェクトがない場合は、[プロジェクトを作成] をクリックしてプロジェクトを作成します

  5. [Git プロバイダ] プルダウン リストで GitHub を選択します。

  6. チェックボックスをオンにして、Cloud Source Repositories が認証情報を格納することを承認します。

  7. [Connect to GitHub] をクリックします。

  8. マシンユーザーの認証情報を使用して GitHub にログインします。

  9. [Google Cloud Platform を承認] をクリックします。

    このオプションは、GitHub ユーザー アカウントのすべてのリポジトリへの Google Cloud 読み取りアクセス権を付与します。

    承認が完了すると、[外部リポジトリの接続] ページに戻ります。リポジトリのリストが開きます。

  10. リポジトリのリストから、ミラーリングするリポジトリを選択します。

  11. [選択したリポジトリを接続] をクリックします。

    リポジトリのメインページが開きます。このページには、この Google Cloud プロジェクトのリポジトリのリストが表示されます。新規に作成したリポジトリも表示されます。

GitHub リポジトリを特定する

Cloud Source Repositories では、GitHub リポジトリのミラーであるリポジトリを簡単に特定できます。

  • 各 GitHub リポジトリは GitHub ロゴで表されます。
  • リポジトリ名の先頭に github_ が追加されます。

リポジトリの同期を強制的に行う

ミラーリングを設定すると、ユーザーが変更を commit したときに、Cloud Source Repositories はリポジトリをミラーリング先のリポジトリと自動的に同期します。ミラーリング先のリポジトリが最後に同期された時刻を参照できます。また、必要に応じて手動で強制的に同期を実行することもできます。

  1. GCP Console で、ミラーリングされた GitHub リポジトリを参照します。

  2. [設定] をクリックします。

    同期ステータスが表示されます。

    ミラーリングされたリポジトリの同期ステータス

  3. リポジトリの強制同期を手動で行うには、[Sync from GitHub] をクリックします。