在cloudfoundry上部署Play!2应用程序时,我希望能够为启动命令指定至少一个附加参数。
目前看起来cloudfoundry使用Play2创建的启动脚本而没有任何参数,但是要覆盖具有特定生产值的默认应用程序配置,我需要使用-Dconfig.resource = prod.conf
来调用它。我找不到任何办法,可能通过manifest.yml,但我无法找到如何添加此参数的规范。
从这个公寓我能够成功部署Play 2.0并将2.1应用程序发布到cloudfoundry
答案 0 :(得分:5)
阅读cloudfoundry工具的源代码我发现play的vcap-staging插件不支持manifest.ml中的“command”属性,也不会要求它。它会自动假定应用程序将以“start”启动(请参阅line 10 in plugin.rb)。
但是,does honor是JAVA_OPTS环境变量。
最后,我能够做到
vmc set-env JAVA_OPTS "-Dconfig.resource=prod.conf"
让它按照我的意愿运作。
答案 1 :(得分:1)
实现此目的的一种方法是将内置zip解压缩并作为独立应用程序上传。您可能已经尝试过,在出现提示时,将启动脚本后面的参数作为启动命令行。虽然这会带来一个问题,即您无法利用CF为服务绑定提供“自动重新配置”功能,并且您必须具有单独的配置才能在云上部署。