我是lagom scala api的初学者。我已经使用lagom scala play框架开发了rest。现在,我想将我的服务部署到heroku上,只是为了进行现场测试。我点击下面的链接继续。
https://www.playframework.com/documentation/2.0/ProductionHeroku
已将github的源码连接到heroku并部署。查看活动构建日志,我发现heroku正在后台运行一些进程。一开始..。
*->检测到Scala应用程序
->安装JDK 1.8...完成
->运行: sbt编译阶段
下载1.2.8版本的sbt launcher:
To /tmp/scala_buildpack_build_dir/.sbt_home/launchers/1.2.8/sbt-launch.jar下载sbt launcher 1.2.8 md5 hash:
To /tmp/scala_buildpack_build_dir/.sbt_home/launchers/1.2.8/sbt-launch.jar.md5
/tmp/scala_buildpack_build_dir/.sbt_home/launchers/1.2.8/sbt-launch.jar: OK正在获取org.scala-sbt sbt 1.2.8 (这可能需要一些时间)...*
并在完成后检测到一些错误
[info] Main Scala API documentation to /tmp/scala_buildpack_build_dir/crud-api/target/scala-2.13/api...
model contains 11 documentable templates
[info] Main Scala API documentation successful.
[info] Packaging /tmp/scala_buildpack_build_dir/crud-api/target/scala-2.13/crud-api_2.13-1.0-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[success] Total time: 9 s, completed Dec 1, 2020 4:01:45 AM
[error] Expected symbol
[error] Not a valid command: -
[error] Expected end of input.
[error] Expected '--'
[error] Expected 'debug'
[error] Expected 'info'
[error] Expected 'warn'
[error] Expected 'error'
[error] Expected 'addPluginSbtFile'
[error] -Xms512M
[error] ^好了!错误:无法运行sbt!
We're sorry this build is failing. If you can't find the issue in application
code, please submit a ticket so we can help: https://help.heroku.com
You can also try reverting to the previous version of the buildpack by running:
$ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-scala#previous-version
Thanks,
Heroku好了!推送被拒绝,无法编译Scala应用程序。
好了!推送失败
是不是我漏掉了什么。或者,如果您对如何在heroku或任何其他平台上部署lagom scala api进行现场测试有任何其他想法。提前谢谢。
发布于 2020-12-01 13:41:18
一般来说,在Heroku上部署Lagom是不可能的,因为Heroku有一个限制:服务于相同服务的dynos不能相互连接。Lagom建立在Play之上,但最重要的是,建立在Akka Clister之上。要形成集群,Akka集群节点必须相互通信。
还有一个单独的问题,它实际上触发了您所看到的错误,那就是Lagom项目通常是在单个构建上具有多个服务的monorepo。有时,构建只是一个服务API sbt模块和服务实现模块。在任何情况下,部署到Heroku都需要将单个服务推送到Heroku git存储库。因此,您必须改进Play/sbt构建包来支持拉各姆项目:当检测到拉各姆项目时,忽略API模块,只部署实现。
但是,再说一次,即使你做了构建包的改进,你仍然会被Dynos之间的网络分离导致的集群形成障碍所阻碍。
https://stackoverflow.com/questions/65085144
复制相似问题