くりにっき

フルスタックキュアエンジニアです

Cloud Functions CI/CD俺的ベストプラクティス

AWS Lambda CI/CD俺的ベストプラクティス - くりにっき のCloud Functions版です

sue445.hatenablog.com

最近Cloud Functions使うことがあってCI面からフレームワークなどを検討しました。AWS Lambdaほどガッツリ使ってないので比較対象が少ないのはご愛嬌

Terraform

https://www.terraform.io/

Deployment Manager

https://cloud.google.com/deployment-manager?hl=ja

Serverless Framework

https://www.serverless.com/

  • 今回比較した中では一番まとも
  • デプロイ関係の面倒くさい処理(GCSのバケットを作ってソースをzipに固めてアップロードとか)はよしなにやってくれる
  • プラグインが充実してるのも嬉しい
  • 不満点
    • デプロイのdry runや serverless.yml のvaridateができないところ
      • master自動デプロイにしてるとmasterにマージするまで動作確認できない
    • Serverless Framework + Cloud Functions + Goで書いてるんだけど情報が英語含めてほとんどないので直感で書いてる
  • 凝ったことをやりたくなると(例:Cloud Functionsで使うPubsub topicをServerless側で作る) serverless.yml にDeployment Managerのymlを書く必要があるのだが、それはAWSで分かってたことなので諦めてた