今後のプロジェクトでGCFを使用することを検討していますが、最後にはまだ文献がないようです。Google Cloud機能とCI/CD
すべての例とチュートリアルでは、機能を手動で展開することにかなり重点を置いています(gcloud
コマンドを使用)。しかし、当社の機能をCI/CDワークフローに統合したいと考えています。
CIの部分は簡単なので、私たちの質問はCDの観点からプロジェクトを構成する方法です。理想的には、プッシュで機能を展開することが理想的です(例えば、マスターブランチからプロダクション、開発ブランチから開発環境など)。
機能ごとに1つのrepoを使用すると、これも非常に簡単です。しかし、それほど簡単ではないアプリケーションでは、何百もの機能を持つことが予想され、機能ごとのレポを非常に面倒にすることになります。ファンクションごとのリポジトリのもう1つの問題は、共有ロジック(たとえばJWTまたはCORSを考える)を使用できないことです。
もう1つの方法は、1つのリポジトリをすべての関数で使用し、次に--source-path
オプションを使用してデプロイする関数を指定することですが、GCFがそのパスをチェックアウトするので共有コードを使用できなくなります。階層の上にあるコードをインポートすることはできません。また、すべてのアプローチに対する1つのレポは、プッシュ・ツー・デプロイを行うことを信じられないほど困難にするでしょう。
このようなGCFプロジェクトの設定方法を教えてください。
それは意見に基づいていませんか? –
@SagarVは詳しく述べていますか? –
ファンクションごとにレポが発生した場合のコード共有の問題をどのように解決する予定ですか? – QuestionAndAnswer