我有一个 Play 框架应用程序(v1.2.4)要部署到 heroku。
我通过从本地 PLAY_HOME 复制安全模块来将安全模块添加到我的 Play 应用程序中。这样我就可以更改安全代码以满足我的项目的需求。
因此我的文件夹结构看起来像
- 工作根/
- /play-project/-> 包含所有 play、libs 和 conf/application.conf
- /secure/-> 本地安全模块的副本(并进行了修改,这就是我复制的原因。)
在工作根目录中,我执行了以下 git 操作:
git init
git add.
git commit -m 'first commmit with customised secure'
请注意,我不仅从 play 应用程序文件夹(在 play-project 中)提交,而且还从上面的级别提交,以便自定义安全应用程序也被提交。
然后我通过
创建了heroku应用程序
heroku create -s cedar --buildpack https://github.com/heroku/heroku-buildpack-pl
这一切都有效。
为了推送代码并将其部署在heroku中,我做了
git push heroku master
这不起作用, 〜哎呀。 conf/routes 或 conf/application.conf 丢失。
这是因为它们不在那里,而是在下面的一个级别。 我希望能够告诉 Heroku 这是一个 play 应用程序,application.conf 位于名为 [play-project] 的“文件夹”中,并且位于当前工作目录中。
有人可以帮我吗? 非常感谢亲切的问候
--拉纳·达斯
最佳答案
默认的 Play 构建包会查找这些文件。您可以 fork 构建包以使其满足您的需求,也可以切换到更标准的结构。要执行您想要的操作,只需使用标准 Play 项目布局(Play 应用程序位于根目录中)。然后,对于安全模块,只需将其源代码复制到 modules/secure
目录中。然后 Play 将使用您的模块版本。
关于使用带有自己的安全模块的 play 框架 1.2.4 进行 heroku 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10139666/