Khanashima / study-serverless

0 stars 0 forks source link

CI/CDでPrismaでマイグレーションをする #25

Closed Khanashima closed 1 year ago

Khanashima commented 1 year ago

Code Buildでやるのが定石だが、Lambda関数を作った方が楽ではある https://qiita.com/tmokmss/items/cd8c7ecb7101b1d137d1

superherobtf1985 commented 1 year ago

@Khanashima 上の例は.env使ってますが、LambdaからDB情報を取得する方法はSecrets Managerでしょうか?

  1. Secrets Managerを使う。Lambda実行ロールにSecrets Managerへのアクセス権限が必要(orz)
  2. .envはCodeCommitにはあげられない。CFn -> CodeBuild -> Severless Frameworkに渡す?(やり方不明)
Khanashima commented 1 year ago

@superherobtf1985

1.serverless.tsにSecrets Managerで環境変数を設定できます。 https://zenn.dev/akashixi/articles/e315684af91430 https://tech.actindi.net/2018/09/05/080821

2.evn.exmapleをbuildspec.ymlでコピーして.envを作る。 https://zenn.dev/nicopin/books/58c922f51ea349/viewer/3a56ae

  1. CodeBuildのコンソールで環境変数を登録 https://dev.classmethod.jp/articles/codebuild-env/ https://www.hacknotes.jp/blog/codebuild-setting-environment-variable/
superherobtf1985 commented 1 year ago

@Khanashima 1の記事はssm(AWS Systems Manager Parameter Store)の取得ですね、、、 今のところSecrets Managerの値はLambdaで直接取得するしかないのかなと思ってます。 そうなると、prismaで作られるschema.prismaなどとどのように連携したらよいかが今のところ疑問です。 https://dev.to/aws-builders/how-to-use-secrete-manager-in-aws-lambda-node-js-3j80

CodeBuildの環境変数を設定したほうが楽な気はしますね