Playframework 2.0 如何在cloudfoundry中传递play应用程序的附加启动参数

Playframework 2.0 如何在cloudfoundry中传递play应用程序的附加启动参数,playframework-2.0,cloud-foundry,playframework-2.1,Playframework 2.0,Cloud Foundry,Playframework 2.1,部署游戏时!cloudfoundry上的2 app我希望能够为startup命令指定至少一个附加参数 目前,cloudfoundry似乎使用由Play2创建的启动脚本,没有任何参数,但要使用特定的生产值覆盖默认的应用程序配置,需要使用-Dconfig.resource=prod.conf调用它 我找不到任何方法来执行此操作,可能是通过manifest.yml,但我无法找到如何添加此参数的规范 显然,我能够成功地将play 2.0和play 2.1应用程序部署到cloudfoundry实现这一点的

部署游戏时!cloudfoundry上的2 app我希望能够为startup命令指定至少一个附加参数

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

我找不到任何方法来执行此操作,可能是通过manifest.yml,但我无法找到如何添加此参数的规范


显然,我能够成功地将play 2.0和play 2.1应用程序部署到cloudfoundry

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

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

阅读cloudfoundry工具的源代码时,我发现用于播放的vcap staging插件既不遵守manifest.ml中的“command”属性,也不要求使用该属性。它自动假定应用程序将以“开始”键启动(请参阅)

但是,它不支持JAVA_OPTS环境变量

最后,我终于做到了

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

阅读cloudfoundry工具的源代码后,我发现vcap staging plugin for play不支持manifest.ml中的“command”属性,也不要求使用该属性。它自动假定应用程序将以“开始”键启动(请参阅)

但是,它不支持JAVA_OPTS环境变量

最后,我终于做到了

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

并让它按我想要的方式工作。

当作为独立应用程序上载时,我无法启动该应用程序,即使除了jvm之外,is没有外部依赖性,并且未压缩的存档在本地启动良好。您能更具体地说吗?您是否在从内置zip解压缩的文件夹下运行vmc push?发生了什么错误?正在启动app2。。。失败的CFoundry::AppStagingError:310:Staging失败:“Staging任务失败:Staging插件失败:/var/vcap/data/packages/ruby/7.1/lib/ruby/1.9.1/fileutils.rb:1231:in`chmod':没有这样的文件或目录-/var/vcap/data/stager/tmp/d20130129-8445-gcr8v1/staged/app/start(Errno::Enoneti最终发现,当cd dist;vmc push--name app2--path dist/app-1.0/不起作用时,vmc push--name app2--path/app-1.0/起作用。不过,该解决方案需要对发布包进行更改。虽然这可以自动化,但我更喜欢通过set env传递参数的解决方案……上传时,我无法启动应用程序作为一个独立的应用程序,即使is除了jvm之外没有外部依赖性,解压的存档在本地也可以正常启动。您能更具体地说吗?您是否在从构建的zip解压的文件夹下运行了vmc push?错误是什么?启动app2…失败的CFoundry::AppStagingError:310:登台失败:'登台任务失败:登台插件失败:/var/vcap/data/packages/ruby/7.1/lib/ruby/1.9.1/fileutils.rb:1231:“chmod”中:没有这样的文件或目录-/var/vcap/data/stager/tmp/d20130129-8445-gcr8v1/staged/app/start(Errno::Enoneti最终发现,当cd dist;vmc push--name app2--path dist/app-1.0/不起作用时,vmc push--name app2--path/app-1.0/起作用。不过,解决方案需要对发布包进行更改。虽然这可以自动化,但我更喜欢通过set env传递参数的解决方案…谢谢,Jean!环境变量solution wor太好了!谢谢你,珍!环境变量解决方案非常有效!