Google Cloud Source Repositories で作る Git リポジトリの使い方

クラウド
クラウド
スポンサーリンク

Google Cloud Source Repositories は、プライベート Git リポジトリを簡単に作成することができる Google Cloud Platform(よく「GCP」と略されます)のサービスのひとつです。ユーザー5名、容量50GBまでなら無料で使うことができます。公開してもかまわないソースコードであればGitHubを利用するのが手軽ですが、仕事などでソースコードが公開できない場合には Google Cloud Source Repositories が活用できそうです。

そこで今回は、GCP の利用登録から、Google Cloud Source Repositories にプライベートGitリポジトリを作成して、リモートリポジトリにプッシュするまでの手順をまとめてみました。

Google Cloud Platform(GCP)の利用登録

まずはじめに Google Cloud Platform の利用登録をします、登録用のGoogleアカウントを1つ用意しましょう。

Google Cloud Platform トップページの「無料トライアル」をクリックし、用意した Googleアカウントでログインします。

Google Cloud Platform の無料トライアルの登録画面が表示されますので、住んでいる国を選択し「同意して続行」をクリックします。

次の画面で「住所」「名前」「電話番号」「クレジットカード番号」(これらの項目は必須です)を入力し、「無料トライアルを開始」をクリックします。

以上で登録完了です。しばらくすると Google Cloud Platform のコンソール(管理画面)が表示されます。

プロジェクトの作成

すでに「My First Project」というプロジェクトが作成されていると思いますが、今回は Google Cloud Source Repositories のテスト用に新しいプロジェクトを作成します。

メニューバーのプロジェクト名をクリックします。

「+」ボタンをクリックします。

適当なプロジェクト名を入力して「作成」をクリックします。(入力フォームの下に表示されている「プロジェクトID」は後で使うのでメモしておきましょう)

再度メニューバーのプロジェクト名をクリックして、作成したプロジェクトを選択します。

以上で新しく作成したプロエジェクトに切り替わりました。

リモートリポジトリの作成

Google Cloud Source Repositories にプライベートGitリポジトリ(一般的に「リモートリポジトリ」と呼ばれます)を作成します。

コンソール左上の「≡」メニューから「Source Repositories」>「レポジトリ」を選択します。(「リポジトリ」は、このように「レポジトリ」とも書くことがありますが、どちらも意味は同じです)

「レポジトリを作成」をクリックします。

適当なリポジトリ名を入力して「作成」をクリックします。

今回は、リモートリポジトリをローカルPCにクローンしますので「ローカル Git レポジトリへの Cloud レポジトリのクローン作成」をクリックします。

クローン作成用のコマンドをメモ帳などにコピペしておきます。

以上で Google Cloud Source Repositories に、プライベートGitリポジトリが作成されました。続いてこのリモートリポジトリをローカルPCにクローンして、リポジトリにファイルを追加してみます。

Google Cloud SDK のインストール

Google Cloud Source Repositories のリモートリポジトリをローカルPCにクローンするのには Google Cloud SDK が必要になります。

SDKのインストールの前に、システムに Python 2.7 がインストールされていることを確認します。最近のmacOSやCentOS7であれば、Python2.7がインストールされていると思います。(今回はmacOS10.12のマシンにインストールしました)

$ python -V
Python 2.7.10 ← インストールされている

ローカルPCがWindowsの場合は「Windows 用のクイックスタート | Cloud SDK のドキュメント」ページから、インストーラをダウンロードできます。

SDKをインストールしたいディレクトリに移動して、以下のコマンドを実行します。

$ cd ~
$ curl https://sdk.cloud.google.com | bash

SDKのインストール先ディレクトリの指定です。よければそのままエンターを押してください。SDKのダウンロードが始まります。

Installation directory (this will create a google-cloud-sdk subdirectory) (/Users/foo): <そのままエンター>

SDKがクラッシュした場合に、匿名化された使用データをGoogleに送ってもいいか聞かれます。(ここはお好みで選択してください)

Do you want to help improve the Google Cloud SDK (Y/n)?

シェルの設定ファイルに SDKコマンドへのパスを追加してもいいか聞かれますので「Y」を入力してください。

Modify profile to update your $PATH and enable shell command
completion?
Do you want to continue (Y/n)? Y

シェルの設定ファイルのパスの確認です。よければそのままエンターを押してください。

Enter a path to an rc file to update, or leave blank to use
[/Users/foo/.bash_profile]:

シェルの設定ファイルを再読み込みして「gcloud」コマンドが実行できることを確認します。

$ source ~/.bash_profile
$ gcloud help
(ヘルプが表示されればOKです)

Google Cloud SDK の初期化

Google Cloud SDK の認証

Googleアカウントで Google Cloud SDK をアプリ認証します。以下のコマンドを実行してください。

$ gcloud init

Googleアカウントにログインしていいですか? と聞いてきますので「Y」を入力します。(WEBブラウザが開きます)

You must log in to continue. Would you like to log in (Y/n)? Y

Google Cloud Platform の利用登録で使ったGoogleアカウントを選択します。

Google Cloud SDK のリクエストを許可します。(この許可はGoogleアカウントの管理画面でいつでも取り消すことができます)

「Google Cloud SDK の認証が完了しました」が表示されたら、ターミナル(コマンドプロンプト)に戻ります。

プロジェクトIDの選択

Google Cloud Source Repositories のテスト用に作成したプロジェクトIDを選択します

Pick cloud project to use:
[1] main-theorem-162308
[2] git-test-169108
Please enter numeric choice or text value (must exactly match list
item): 2

Compute Engine(仮想サーバー)の設定をはじめようとすることがありますが「n」を入力してキャンセルしてください。

API [compute-component.googleapis.com] not enabled on project
[601299124237]. Would you like to enable and retry? (Y/n)? n

以上で Google Cloud SDK の初期化終了です。

Git のユーザー名とメールアドレスの設定

ローカルPCにリモートリポジトリのクローンを作成する前に、Gitのユーザー名とメールアドレスが設定されていることを確認しましょう。ここで設定したユーザー名がGitの履歴や、Google Cloud Source Repositories のリポジトリブラウザに表示されます。特にチームでプライベートGitリポジトリを利用する場合は、設定しておくことをオススメします。

ユーザー名の設定

$ git config --global user.name "your_name"

メールアドレスの設定

$ git config --global user.email "your_email@example.com"

設定の確認

$ git config --list
user.name=your_name
user.email=your_email@example.com

リモートリポジトリのクローン作成とプッシュ

リポジトリを作成した時にコピペしたコマンドを実行して、Google Cloud Source Repositories リモートリポジトリのクローンをローカルPCに作成します。

$ gcloud source repos clone sample --project=git-test-169108

クローンが作成できてしまえば、後の操作は普通のGitリポジトリと同じです。ためしにファイルを追加してリモートリポジトリにプッシュしてみます。

$ cd sample/
$ echo 'test' > README.md
$ git add README.md
$ git commit -m '最初のコミット'
$ git push

GCPコンソールの「Source Repositories」>「ソースコード」画面で、リポジトリにファイルが追加されたことが確認できるかと思います。

リモートリポジトリのユーザー管理(IAM)

Google Cloud Source Repositories に作成したリモートリポジトリに接続できるユーザーは、GCP の IAM(ユーザーのアクセス権限を管理するための仕組み)で管理することができます。これが Google Cloud Source Repositories を使う一番の利点だと思います。

コンソール左上の「≡」メニューから「IAMと管理」>「IAM」を選択します。

「追加」をクリックします。

メンバーに Googleアカウントのメールアドレスを入力し、役割「Source」からリモートリポジトリへのアクセス権限レベルを選択して「追加」をクリックします。メンバーのアカウントは Googleアカウント以外にもサービスアカウントで発行したアカウントを登録することもできます。

以上でメンバーに追加したユーザーが Google Cloud Source Repositories のリモートリポジトリに接続できるようになります。

おわりに

Google Cloud Source Repositories が正式公開された2017年5月24日の翌日、競合となる AWS CodeCommit(無料枠や料金の設定がほとんど同じです)は、東京リージョンへの対応を開始しました。これはたまたまかもしれませんがクラウドの競争がますます激しくなりそうです。競争によってサービスの向上や料金の引下げが期待できます。利用者にとってはありがたいことですね。

コメント

タイトルとURLをコピーしました