【发布时间】:2017-08-10 02:05:38
【问题描述】:
问题是如何设置应用程序机密以使其在application.yml中可用?
在 heroku 上,我只是通过为 dyno 设置环境变量来完成它,并将其访问为:
server:
port: ${PORT}
security:
user:
password: ${USERPASSWORD}
eureka:
client:
register-with-eureka: false
fetch-registry: false
instance:
hostname: localhost
securePortEnabled: true
password: ${EUREKAPASSWORD}
如何在 Google App Engine 中实现这一点?我正在尝试使用datastore:
不幸的是,我不知道如何将这些值注入到我的 *.yml 文件中。
编辑:
还有一件更重要的事情要补充。我正在使用 maven appengine 插件通过 CI 管道部署我的应用程序,因此我无法将 app.yaml 文件推送到 App Engine
【问题讨论】:
-
*.yml指的是 GAE 服务的.yamlGAE 基础设施本身使用的配置文件吗?或者其他一些.yml文件,您的应用在启动后为了执行某些功能而读取? -
你好。我正在使用 maven appengine 插件,所以我不会将 app.yaml 文件推送到 Google。即使我会这样做,保存在此类文件中的变量也不是保密的 :)。我已经相应地编辑了我的问题。
-
正如我所说,如果我将密码存储在文件中,它就不再是秘密了。另一方面:这里你得到了一些关于 appengine 插件的东西:cloud.google.com/appengine/docs/standard/java/tools/maven
-
对不起,我不明白您想如何使用该秘密信息,恕我直言,这对于能够评论 的方法至关重要存储它。你需要澄清这一点。你提到的
application.yml到底是什么? -
docs.spring.io/spring-boot/docs/current/reference/html/…
application.yml是 spring-boot 应用程序的配置文件。在该文件中,我可以指定应用程序应在哪个环境变量下查找给定值(即:${somePassword})。somePassword的值我想在 GAE 上设置 不将其存储在存储库或任何本地文件中。
标签: java spring google-app-engine google-cloud-platform