当ブログのリソースをリポジトリで管理したいなと前々から思っていたので今回CloudSourceRepositories(GCPのGitリポジトリ)使ってみました。
※AWSでいうCodeCommitですね。
料金
公式Docをみたところ次のようになっていました。
- リポジトリ数は課金対象外。ただし割当可能な上限数はあるとのこと
- プロジェクトユーザーが5名を超えた場合、1名あたり1$/月
- ストレージの使用量が50GBを超えた場合、月額1GB あたり $0.10
- 下りネットワーク(GCPから外に向けた通信)の通信量が50 GB を超えた場合、1GB あたり $0.10
Always Free プロダクトをみたところ、月間の使用量が上記公式Doc記載の課金条件を超えなければ無料枠内に収まるようです。
wp-content/uploads内の画像ファイルのデータ量に注意する必要があります、画像ファイルをGCSに移行、整理した後にCloudSourceRepositoriesを使った方が良さそうです。
リポジトリの作成
GCPコンソールのメニューからSourceRepositoriesをクリックします。
初めてCloudSourceRepositoriesを使う場合、下記画面が表示されますので「開始」をクリックします。
「リポジトリの作成」をクリックします。
今回は新規リポジトリを作成しますので「新しいリポジトリを作成」を選択し、「続行」をクリックします。
※GitHubなど外部リポジトリと連携できるようです。
リポジトリ名を入力し、作成先のプロジェクトを選択した後「作成」をクリックします。
プロジェクト選択のプルダウンで新しいプロジェクトを作成・選択する事も可能なようです。
次の画面に遷移します。
今回はリモートリポジトリをローカルPCにクローンしますので「ローカル Git レポジトリへの リポジトリのクローンの作成」を選択します。
認証方式は
- GCPが発行する認証鍵でのSSH認証
- Google Cloud SDKでの認証(Googleアカウントを利用)
- 手動作成した認証情報での認証
が選べるみたいです。
認証鍵の管理が面倒臭いのでGoogle Cloud SDKを利用し、Googleアカウントで認証させる事にします。
画面に表示されているコマンドを手順4までターミナルで実行します。
手順4に記載されているディレクトリ配下にCloudSourceRepositoriesへ追加するリソースをコピーします。
コピー後全てのリソースをコミットするため、下記コマンド順次実行します。
#全てのファイルをcommit対象にする git add . #ステージングエリアにファイルが移動された事を確認 git status #コメント付でcommit git commit -m '初回コミット' #ログの確認 git log
最後に手順5を行いリポジトリへpushします。
git push -u origin master
pushが終わったらブラウザをリロードし、リポジトリへリソースが登録されている事を確認します。
CloudSourceRepositoriesはGCPの様々なサービスと連携出来るようで、GAEについてはリポジトリから直接デプロイ出来るようなので、今後勉強がてら試してみようと思います。
何はともあれGitリポジトリでリソース管理し始めたのでバックアップの問題は解消しました。
追記:GAEへの自動デプロイについて
Cloud Buildと連携させることで、CloudSourceRepositoriesのpush通知をトリガーにしてGAEに自動デプロイすることが出来ます。
設定方法はこちらの記事をご覧下さい。