java - 在 GAE 标准中以不同方式配置同一服务的不同版本

标签 java google-app-engine configuration-files

在 GAE 标准中对同一服务的不同版本进行不同配置

我部署了同一服务的多个版本,并希望对它们进行不同的配置。例如,服务的 test 版本应在比同一服务的 prod 版本更低规范的实例(且无空闲实例)上运行。

由于两个部署共享相同的 appengine-web.xml,我如何维护和使用此配置文件的不同版本?

在早期的项目中,我曾在 Git 中使用单独的 appengine-web.xml.testappengine-web.xml.prod 版本 (appengine -web.xml 本身是 .gitignore-d)。然后,我编写了一个简单的构建程序,该程序将使用适当的版本覆盖 appengine-web.xml,然后运行构建和部署命令。这是使用 AppEngine SDK。

在我当前的项目中,我使用的是 GCloud SDK。是否有更好/更简单的解决方案?

最佳答案

从部署角度来看,同一服务的不同版本在技术上并不共享 appengine-web.xml 文件,它们各自拥有自己的文件副本,反射(reflect)本地文件版本的内容部署相应版本的时间。服务本身的版本实际上可以在文件中配置,以防您有疑问。

因此,这实际上取决于您如何管理部署服务的工作区/存储库中的文件版本控制。

您之前的脚本是实现此目的的一种方法。

另一种可能性是在不同的、每个环境的分支中拥有不同版本的文件。更详细的描述可以在这篇文章中找到(它是关于 app.yaml 的,这是真的,但总体思路是一样的):Google Cloud App Engine app.yaml for multiple environments

旁注:我个人建议使用不同的应用程序来实现不同的环境,而不仅仅是不同的版本和/或服务,请参阅:

关于java - 在 GAE 标准中以不同方式配置同一服务的不同版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52991248/

相关文章:

java - 从整数中删除数字

java - 我正在尝试找到字符串的反转

configuration - 在我自己的自定义 appSettings 上使用 foreach 所需的代码

c# - 在运行时更改 App.config

java - 重构嵌套循环

java - Java 中每次鼠标单击都会更改字符串的字体

google-app-engine - 动态添加字段到 WTForms 返回 UnboundField

java - 如何读取 blob 的内容并将其写入 GAE 数据存储 (Java)

java - Google 应用引擎 JDO 延迟数据持久性

java - Eclipse .classpath/.project 文件中有什么?