【发布时间】:2021-11-27 02:37:45
【问题描述】:
我们有几个 Java App Engine 标准项目,我正在 Spring Boot 上从 App Engine 8 迁移到 App Engine 11。他们中的许多人在他们的appengine-web.xml 文件中使用vpc-access-connector,我们在maven-war-plugin 期间使用资源过滤注入了该文件。配置应用引擎的新方法是使用 src/main/appengine/app.yaml 文件和 jar 而不是战争作为工件,但是我无法确定如何将变量替换到 app.yaml 文件中。我试过包括这是我的 maven 部分,但它不起作用:
<resources>
<resource>
<directory>src/main/appengine</directory>
<filtering>true</filtering>
</resource>
</resources>
我需要根据正在运行的 Maven 配置文件注入不同的值。我们目前在配置文件中的 maven 属性部分定义 vpc 访问连接器值,这些值与我们的每个部署环境的 spring 配置文件一致,例如 test、ea 和 prod。
这里有什么解决办法?
有什么方法可以根据调用的配置文件使用不同的 app.yaml 文件吗? (这不是最好的解决方案,因为这意味着大部分文件内容将是静态副本,尽管常见的东西可以移动到包含的 yaml 中。)
或者是否有一些我无法在线找到的语法允许我设置环境变量或 maven 属性并从 src/main/appengine/app.yaml 文件中引用它?
感谢您的帮助!
汤姆·哈里斯
【问题讨论】:
-
您可以在
app.yaml文件上添加env_variables: SPRING_PROFILES_ACTIVE: "gcp",然后在PRD 上将看到application-gcp.properties上的所有值 -
据我所知,vpc 访问连接器需要在 app.yaml 文件中,而不是在 spring 属性文件中。
-
嗨,OP。让我们知道答案是否有帮助。如果它有用,请考虑支持它。如果它回答了你的问题,那么请接受它。这样其他人就知道你已经(充分地)得到了帮助。另见What should I do when someone answers my question?
标签: java maven google-app-engine java-11 app.yaml