2017-05-17 5 views
1

Ich schreibe einen Backend-Service mit dem Serverless-Framework.Serverless Framework 'dev' und 'prod' Trennung

Was ist der beste Weg zum Trennen von "Dev" und "Prod" Umgebungen?

Nehmen wir an, ich möchte, dass mein Entwicklungsprofil in einer bestimmten Region bereitgestellt wird und mein Produktprofil in einem anderen bereitgestellt wird. Gibt es eine Möglichkeit, dies im Serverless-Framework zu erreichen?

Ich möchte etwas tun:

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

Cloudformation würde Sie dies ganz glücklich machen. – Henry

Antwort

4

Sie an unterschiedliche Umgebungen bereitstellen können Phasen mit dem serverless Framework. Der Befehl deploy verfügt über die Option stage, die Sie mit --stage oder -s angeben können. Die Option für Region ist --region oder -r Hier ist ein Beispiel:

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

Diese Option kann auch verwendet wird eine individuelle Lambda-Funktion zu einer bestimmten Umgebung zu implementieren.

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

Sie können auch serverlose Variablen verwenden, um die Konfiguration Ihrer Umgebung dynamisch zu gestalten. Sie können auf Umgebungsvariablen mit der Syntax ${env:SOME_VAR} zugreifen.

Es gibt auch eine Möglichkeit, Variablen stage/region-spezifisch zu machen, indem verschachtelte Variablen verwendet werden.

Aus der Dokumentation:

Erstellen der Variablen Stufe/Region spezifisch:

serverless.env.yml erlaubt Sie unterschiedliche Werte für die gleiche Variable auf die Bühne Basis haben/Region, in der Sie bereitstellen. Sie können dasselbe Ergebnis erreichen, indem Sie die Verschachtelungsfunktionalität des neuen Variablensystems verwenden. Für Beispiel, wenn Sie zwei verschiedene ARNs haben, einen für die Entwicklungsstufe und den anderen für die Produktionsstufe, können Sie Folgendes tun: $ {env: $ {opt: stage} _arn}. Dies stellt sicher, dass die korrekte env-Variable referenziert wird, basierend auf der als Option bereitgestellten Stufe. Natürlich müssen Sie sowohl dev_arn als auch prod_arn env vars auf Ihrem lokalen System exportieren.

Links zu serverless Dokumentation:

Deploy

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

Workflow-Empfehlungen

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

Serverless Variablen

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

Verwandte Themen