#概要
GCPでGitHubのレポジトリをGCPで利用するにはどうすればいいかという話。
AzureだとGitHubを直接利用するが、GCPではCloud Source Repositories(以降、CSR)というソース管理があるのでこれを使用する。
ベンダーロックインが気になるかもしれないが、GitHubとミラーリング設定をすればCSRを意識する必要はない。
GitHubにプッシュすれば自動でCSRに反映されるため、Azure同様にGitHubを唯一のソース管理として作業できる。
#手順
基本的に公式ドキュメントのGitHubのミラーリング手順をそのまま実施すればOK。
GitHubのレポジトリの指定と承認するだけなので引っかかることはないはず。
https://cloud.google.com/source-repositories/docs/mirroring-a-github-repository
いくつか補足しておく。
- プロジェクトは有効な課金アカウントに結びついておかなければならない。
- これをタイプした当時の記憶がもうないが、Firebaseの無料プランから遷移した場合には使用できなかった?
- 新規のミラーリングについては数時間かかることもある模様。私の場合は3分程度で完了した。
https://cloud.google.com/source-repositories/docs/troubleshooting?authuser=0#search_results_dont_match_expectations - ミラーリングと聞くと遅延が気になるが、GitHubにプッシュしたらすぐにミラーリングされるようで気にしたことはない。
#その他参考にしたドキュメント
Cloud Source Repositories からの Cloud Functions のデプロイ(CSRの方のドキュメント)
https://cloud.google.com/source-repositories/docs/deploying-functions-from-source-repositories?authuser=0
Cloud Functionsへソース管理からのデプロイ(Functionsの方のドキュメント)
https://cloud.google.com/functions/docs/deploying/repo
クイックスタート: Cloud Source Repositories から Cloud Functions へのデプロイ
https://cloud.google.com/source-repositories/docs/quickstart-integrating-with-cloud-functions?hl=ja