首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在heroku上部署lagom scala

如何在heroku上部署lagom scala
EN

Stack Overflow用户
提问于 2020-12-01 13:22:41
回答 1查看 65关注 0票数 0

我是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:

来自https://repo.scala-sbt.org/scalasbt/maven-releases/org/scala-sbt/sbt-launch/1.2.8/sbt-launch-1.2.8.jar

代码语言:javascript
复制
To  /tmp/scala_buildpack_build_dir/.sbt_home/launchers/1.2.8/sbt-launch.jar

下载sbt launcher 1.2.8 md5 hash:

来自https://repo.scala-sbt.org/scalasbt/maven-releases/org/scala-sbt/sbt-launch/1.2.8/sbt-launch-1.2.8.jar.md5

代码语言:javascript
复制
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 (这可能需要一些时间)...*

并在完成后检测到一些错误

代码语言:javascript
复制
   [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!

代码语言:javascript
复制
   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进行现场测试有任何其他想法。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 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之间的网络分离导致的集群形成障碍所阻碍。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65085144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档