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 2.7.10 ← インストールされている
ローカルPCがWindowsの場合は「Windows 用のクイックスタート | Cloud SDK のドキュメント」ページから、インストーラをダウンロードできます。
SDKをインストールしたいディレクトリに移動して、以下のコマンドを実行します。
$ curl https://sdk.cloud.google.com | bash
SDKのインストール先ディレクトリの指定です。よければそのままエンターを押してください。SDKのダウンロードが始まります。
SDKがクラッシュした場合に、匿名化された使用データをGoogleに送ってもいいか聞かれます。(ここはお好みで選択してください)
シェルの設定ファイルに SDKコマンドへのパスを追加してもいいか聞かれますので「Y」を入力してください。
completion?
Do you want to continue (Y/n)? Y
シェルの設定ファイルのパスの確認です。よければそのままエンターを押してください。
[/Users/foo/.bash_profile]:
シェルの設定ファイルを再読み込みして「gcloud」コマンドが実行できることを確認します。
$ gcloud help
(ヘルプが表示されればOKです)
Google Cloud SDK の初期化
Google Cloud SDK の認証
Googleアカウントで Google Cloud SDK をアプリ認証します。以下のコマンドを実行してください。
Googleアカウントにログインしていいですか? と聞いてきますので「Y」を入力します。(WEBブラウザが開きます)
Google Cloud Platform の利用登録で使ったGoogleアカウントを選択します。
Google Cloud SDK のリクエストを許可します。(この許可はGoogleアカウントの管理画面でいつでも取り消すことができます)
「Google Cloud SDK の認証が完了しました」が表示されたら、ターミナル(コマンドプロンプト)に戻ります。
プロジェクトIDの選択
Google Cloud Source Repositories のテスト用に作成したプロジェクトIDを選択します
[1] main-theorem-162308
[2] git-test-169108
Please enter numeric choice or text value (must exactly match list
item): 2
Compute Engine(仮想サーバー)の設定をはじめようとすることがありますが「n」を入力してキャンセルしてください。
[601299124237]. Would you like to enable and retry? (Y/n)? n
以上で Google Cloud SDK の初期化終了です。
Git のユーザー名とメールアドレスの設定
ローカルPCにリモートリポジトリのクローンを作成する前に、Gitのユーザー名とメールアドレスが設定されていることを確認しましょう。ここで設定したユーザー名がGitの履歴や、Google Cloud Source Repositories のリポジトリブラウザに表示されます。特にチームでプライベートGitリポジトリを利用する場合は、設定しておくことをオススメします。
ユーザー名の設定
メールアドレスの設定
設定の確認
user.name=your_name
user.email=your_email@example.com
リモートリポジトリのクローン作成とプッシュ
リポジトリを作成した時にコピペしたコマンドを実行して、Google Cloud Source Repositories リモートリポジトリのクローンをローカルPCに作成します。
クローンが作成できてしまえば、後の操作は普通のGitリポジトリと同じです。ためしにファイルを追加してリモートリポジトリにプッシュしてみます。
$ 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(無料枠や料金の設定がほとんど同じです)は、東京リージョンへの対応を開始しました。これはたまたまかもしれませんがクラウドの競争がますます激しくなりそうです。競争によってサービスの向上や料金の引下げが期待できます。利用者にとってはありがたいことですね。
コメント