我有一个scala + play(2.3)应用,我在heroku上部署。如果没有定义Procfile,应用程序将部署并运行,没有任何问题(heroku检测到这是一个scala play应用程序)。段塞尺寸为89MB
但是,当我添加一个非常简单的Procfile时:
web: target/universal/stage/bin/app_name -Dconfig.resource=application-heroku.conf
其中application-heroku.conf
只是我application.conf
的副本(我想为dev和prod创建单独的application.conf
)
slug大小增加到380MB,应用程序无法部署(限制为300MB)。 我做错了吗?
答案 0 :(得分:2)
有些事情阻止了buildpack在准备slug之前清除了构建工件。您是否在构建输出中看到这些行:
-----> Dropping ivy cache from the slug
-----> Dropping sbt boot dir from the slug
-----> Dropping project boot dir from the slug
-----> Dropping compilation artifacts from the slug
如果没有,你能否确认
conf/application.conf
个文件(即使您不使用它)sbt-native-packager
project/plugins.sbt
依赖项
如果这两个都不成立,那么buildpack无法安全地清除构建工件。如果您没有conf/application.conf
尝试添加一个 - 即使它是一个空的占位符。
如果您做,请参阅" Dropping"你的构建输出中的行,并且仍然得到一个太大的slug,然后检查你没有使用自定义buildpack(即你的BUILDPACK_URL没有设置)。