5

部署 Play 时出现此错误!dokku 上的应用程序:总计 27 个(增量 0),重复使用 0 个(增量 0)

-----> 构建测试...

Play 2.x - 检测到 Java 应用程序

-----> 安装 OpenJDK 1.6...完成

-----> 使用 sbt 构建应用程序

-----> 运行:sbt clean 编译阶段

初始化虚拟机时出错

无法为对象堆保留足够的空间

!使用 sbt 构建应用程序失败

致 dokku@breams.pl:test

![remote denied] master -> master (pre-receive hook denied)

我的服务器有 512MB 的内存,它是 VPS。当我使用 play run 命令时,一切都很好。只有在 dokku 部署期间,我才会收到此错误。

谁能帮我克服这个问题?

4

1 回答 1

7

今天在具有 512MB RAM 的 Digital Ocean VPS 上遇到了同样的问题。由于 droplet 没有交换空间,我决定通过以 root 身份运行以下命令来添加它:

touch /var/swap.img
chmod 600 /var/swap.img
dd if=/dev/zero of=/var/swap.img bs=1024k count=1000
mkswap /var/swap.img
swapon /var/swap.img
echo "/var/swap.img none swap sw 0 0" >> /etc/fstab

它增加了 1GB 的交换空间。

第二次部署不再抱怨堆空间。

但是,在我的情况下,SBT 构建在部署过程中稍后失败。将 droplet 的大小调整为 1024MB 就成功了,Dokku 报告应用程序已部署。

于 2014-02-08T13:34:11.160 回答