有没有办法在Google App Engine的app.yaml中导入环境变量?

kjs*_*roo 5 google-app-engine

我知道你可以声明env_variablesapp.yaml中所描述的app.yaml文件。但是,app.yaml在部署时是否可以将本地环境中的环境变量包括在内。

作为我要完成的事情的一个例子

# in app.yaml
runtime: python27
api_version:1
threadsafe: true
service: {{ $AN_ENVIRONMENT_VARIABLE }}
Run Code Online (Sandbox Code Playgroud)

Rae*_*bal 6

是的,您可以includes:用来指定要包含的文件数组。在包含的文件中,您可以env_variables:像在中一样指定app.yaml。例如app.yaml

runtime: go
api_version: go1

env_variables:
  FIST_VAR: myFirstVar

includes:
- credentials.yaml
Run Code Online (Sandbox Code Playgroud)

credentials.yaml

env_variables:
  SECOND_VAR: mySecondVar
Run Code Online (Sandbox Code Playgroud)


Dan*_*scu 4

不,配置文件不存在此类模板支持app.yaml

旁注:该app.yaml文件不仅用于提取部署指令信息,还用于配置 GAE 上相应服务的操作。以这种方式配置服务名称没有多大意义,除非正在部署的服务在每个方面(除了名称之外)都相同 - 可能性很小。

特定于环境的部署的一种可能方法是为应用程序代码设置不同的版本控制分支,每个环境都有一个版本控制分支,每个分支都有所需的内容app.yaml

另一种方法是将部署命令包装在脚本中,并在该脚本内执行环境替换。

至于将凭据信息传递给应用程序,目前还没有干净、直接的解决方案。但方法是存在的: