1

在 cloudfoundry 上部署 Play!2 应用程序时,我希望能够为启动命令指定至少一个附加参数。

目前,cloudfoundry 使用 Play2 创建的启动脚本似乎没有任何参数,但是要使用特定的生产值覆盖默认应用程序配置,我需要使用 -Dconfig.resource=prod.conf 调用它

我找不到任何方法来做到这一点,也许是通过 manifest.yml 但我无法找到如何添加此参数的规范。

从此 Appart 我能够成功地将 play 2.0 和 play 2.1 应用程序部署到 cloudfoundry

4

2 回答 2

5

阅读 cloudfoundry 工具的源代码后,我发现用于 play 的 vcap-staging 插件不支持 manifest.ml 中的“command”属性,也不需要它。它自动假定应用程序将使用“start”启动(参见plugin.rb 中的第 10 行)。

但是,它确实尊重JAVA_OPTS 环境变量。

最后,我能够做到

vmc set-env JAVA_OPTS "-Dconfig.resource=prod.conf"

让它按我的意愿工作。

于 2013-01-29T09:20:41.630 回答
1

实现此目的的一种方法是将构建的 zip 作为独立应用程序提取和上传。正如您可能已经尝试过的那样,在出现提示时将参数放在启动脚本之后作为启动命令行。虽然这会带来一个问题,即您无法利用 CF 为绑定的服务提供“自动重新配置”功能,并且您必须进行单独的配置才能在云上部署。

于 2013-01-29T08:48:47.377 回答