2014-12-01 50 views
1

我有一個scala + play(2.3)應用程序,我在heroku上部署。當沒有定義Procfile時,應用程序部署並運行時沒有任何問題(heroku檢測到這是一個scala play應用程序)。嵌塞大小是89MBHeroku Procfile顯着增加子彈大小

然而,當我添加一個非常簡單的Procfile:

web: target/universal/stage/bin/app_name -Dconfig.resource=application-heroku.conf 

其中application-heroku.conf只是我的application.conf(我想創造單獨application.conf S表示開發和生產線)

副本

slug大小增加到380MB,應用程序無法部署(因爲限制爲300MB)。 我做錯了什麼?

回答

1

有些東西阻止buildpack在準備slu before之前清除構建工件。你在你的編譯輸出中看到這幾行:

-----> 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文件在您的項目(即使你不使用它)
  • 或者你有你的project/plugins.sbt

sbt-native-packager依賴如果這些都不是真實的,該buildpack不能安全清除構建構件。如果你沒有conf/application.conf嘗試添加一個 - 即使它是一個空的佔位符。

如果看到你的編譯輸出的「刪除」行,並仍然得到蛞蝓是太大了,然後檢查你是不是使用自定義buildpack(即你的BUILDPACK_URL未設置) 。

+0

與@jfu玩2.2.6相同的問題。沒有掉線。添加一個默認的application.conf作爲joekutner建議,它的工作就像一個魅力。但爲什麼它需要默認的application.conf? – KirdApe 2015-01-23 14:54:16