从命令行传递环境变量

Som*_*kar 5 serverless-framework

是否可以使用 传递环境变量sls deploysls似乎没有类似的开关-e,唯一可能的方式看起来像有一个单独的 yaml 文件来管理变量并使用 serverless.yml 文件中的“environment:”元素传递它,如上所述在本文中 。

小智 5

您可以使用无服务器参数

参数可以直接通过 CLI --param 标志传递,遵循模式 --param="<key>=<value>":

serverless deploy --param="domain=myapp.com" --param="key=value"
Run Code Online (Sandbox Code Playgroud)

然后可以通过 ${param:XXX} 变量使用参数:

provider:
  environment:
    APP_DOMAIN: ${param:domain}
    KEY: ${param:key}
Run Code Online (Sandbox Code Playgroud)

https://www.serverless.com/framework/docs/guides/parameters


小智 4

您可以为环境变量使用任意名称,并将其传递给 serverless.yml:

serverless deploy --myEnvVar <value>
Run Code Online (Sandbox Code Playgroud)

您可以在 serverless.yml 中引用此内容:

environment:
  myLocalVar: ${opt:myEnvVar}
Run Code Online (Sandbox Code Playgroud)

  • 看起来这种方法已被弃用,但正在探索替代方案:https://github.com/serverless/serverless/issues/9371 (2认同)