2017-05-17 35 views
1

私はServerlessフレームワークを使用してバックエンドサービスを作成しています。サーバレスフレームワーク「dev」と「prod」の分離

"Dev"環境と "Prod"環境を分離する最も良い方法は何ですか?

私の開発プロファイルを特定の地域に展開し、プロードプロファイルを別の地域に展開したいとします。これをServerlessフレームワークで実現する方法はありますか?

私のような何かをしたいと思います:

serverless deploy --profile dev (--> use serverless-dev.yml) 
serverless deploy --profile prod (--> use serverless-prod.yml) 
+1

CloudFormationは、あなたが非常に喜んでこれをやらせるだろう。 – Henry

答えて

4

あなたはサーバーレスフレームワークとステージを使用して、異なる環境に展開することができます。 deployコマンドには、--stageまたは-sを使用して指定できるstageオプションがあります。地域のオプションは、ここで--regionまたは-rある例です:このオプションは、特定の環境に個々のラムダ関数を展開するために使用することができます

serverless deploy --stage dev --region us-east-1 

serverless deploy --stage production --region eu-west-1 function --function helloworld 

サーバレス変数を使用して、環境設定を動的にすることもできます。環境変数には、${env:SOME_VAR}の構文を使用してアクセスできます。

ネストされた変数を使用してステージ/領域固有の変数を作成する方法もあります。ドキュメントから

特定のあなたの変数のステージ/地域を作る:

serverless.env.ymlはあなたが に基づいて、同じ 変数に異なる値を持つことができ、ステージ/あなたが展開している地域。新しい可変システムの入れ子機能を使用することで、同じ結果を得ることができます。 の例では、2つの異なるARN、つまりDEVステージ用と プロダードステージ用のARNがある場合は、次の操作を実行できます。 $ {opt:stage} _arn}これにより、オプションとして提供されたステージに基づいて、正しいenv varが であることが確認されます。もちろん はローカル システムでdev_arnとprod_arn env varsの両方をエクスポートする必要があります。サーバレスドキュメントへ

リンク:

展開

https://serverless.com/framework/docs/providers/aws/cli-reference/deploy-function/

ワークフロー勧告

https://serverless.com/framework/docs/providers/aws/guide/workflow/#using-stages

サーバレス変数

https://serverless.com/framework/docs/providers/aws/guide/variables/

関連する問題