Meine App Slug Größe auf Heroku zeigt 222 mb. Ziemlich riesig und jenseits der 200MB erlaubt.Heroku Slug Größe bei 222 MB/Play Framework 2.1/
So habe ich diese Dinge überprüft:
Überprüfen Sie meine Quellcode Größe: 89,9 Mo zu wissen, dass 80,2 Mo herkommt Zielordner zu spielen App.
Überprüfen Sie meine .gitignore-Datei, um sicherzustellen, dass der Zielordner der Play-App gut ausgeschlossen ist. Hier meine .gitignore Datei:
.DS_Store logs project/project project/target target // target well precised here tmp .history dist /.idea /*.iml //space here otherwise appears as a comment here /out /.idea_modules /.classpath /.project /RUNNING_PID /.settings
überprüfen Sie meine SBT Efeu-Cache-Größe: 100,9 Mo
hier die Größe der einzelnen Ordner (links) im Detail :
MikaPc. Cache Mika $ du -xak | sort -n | tail -50
1664 ./org.neo4j/neo4j/docs 1664 ./org.neo4j/neo4j/docs/neo4j-1.9.M05-javadoc.jar
1668 ./org.neo4j/neo4j-kernel/docs
1668. /org.neo4j/neo4j-kernel/docs/neo4j-kernel-1.9.M05-javadoc.jar
1680 ./org.springframework/spring-test 1748 ./org.neo4j/neo4j
1752 ./org.aspectj/aspectjweaver/Dosen
1752 ./org.aspectj/aspectjweaver/jars/aspectjweaver-1.7.1.jar
1860 ./org.springframework/spring-jdbc
1888 ./org.springframework.data/spring-data -commons
1980 ./org.scala-sbt/main/jars
1980 ./org.scala-sbt/main/jars/main-0.12.2.jar
1992 ./org.scala-sbt/main
2100 ./org.springframework/spring-context/docs
2100 ./org.springframework/spring-context/docs/spring-context-3.2.0.RELEASE-javadoc.jar 2104 ./com.sun.jersey 2348 ./org.springframework/spring-core
2356 ./ org.springframework.data/spring-data-neo4j
2404 ./org.springframework/spring-beans
2776 ./org.apache.lucene/lucene-core
2800 ./org.springframework/spring-web
2808 ./org.springframework/spring-webmvc
2812 ./org.aspectj/aspectjweaver/docs
2812 ./org.aspectj/aspectjweaver/docs/aspectjweaver-1.7.1-javadoc.jar 2844 ./org .apache.lucene 3016 ./org.neo4j/neo4j-kernel/jars
3820 ./org.springframework/spring-context
4356 ./org.neo4j/neo4j-cypher/jars
4356 ./org.neo4j /neo4j-cypher/jars/neo4j-cypher-1.9.M05.jar
4436 ./org.specs2/specs2_2.10/docs
4436 ./org.specs2/specs2_2.10/docs/specs2_2.10-1.13 .1-SNAPSHOT-javadoc.jar 4584 ./org.scalaz/scalaz-core_2.10/docs
4584 ./org.scalaz/scalaz-core_2.10/docs/scalaz-core_2.10-7.0-SNAPSHOT-javadoc .jar 4824 ./org.neo4j/neo4j-cypher 5712 ./org.neo4j/neo4j-kernel
5936 ./org.aspectj/aspectjweaver
6024 ./org.springframework.data 6484 ./org.aspectj
6520 ./org.specs2/specs2_2.10/jars
6520 ./org.specs2/specs2_2.10/jars/specs2_2.10-1.13.1-SNAPSHOT.jar
6812 ./org.scala-sbt 8288 ./org.scalaz/scalaz-core_2.10/jars
8288 ./org.scalaz/scalaz-core_2.10/jars/scalaz-core_ 2,10-7,0-SNAPSHOT.jar 11500 ./org.specs2/specs2_2.10 11524 ./org.specs2
13132 ./org.scalaz/scalaz-core_2.10 13140 ./org.scalaz
15832 ./org .neo4j 23500 ./org.springframework
98552.
Meine SBT-Build-Datei enthält die folgenden Abhängigkeiten:
val appDependencies = Seq(
jdbc,
anorm,
"org.springframework" % "spring-aop" % "3.2.0.RELEASE",
"org.springframework" % "spring-aspects" % "3.2.0.RELEASE",
"org.springframework" % "spring-beans" % "3.2.0.RELEASE",
"org.springframework.data" % "spring-data-commons-core" % "1.4.1.RELEASE",
"org.springframework" % "spring-expression" % "3.2.0.RELEASE",
"org.springframework" % "spring-jdbc" % "3.2.0.RELEASE",
"org.springframework" % "spring-orm" % "3.2.0.RELEASE",
"org.springframework" % "spring-test" % "3.2.0.RELEASE",
"org.springframework" % "spring-tx" % "3.2.0.RELEASE",
"org.springframework.data" % "spring-data-neo4j" % "2.2.0.RELEASE" excludeAll(
ExclusionRule(organization = "com.sun.jdmk"),
ExclusionRule(organization = "com.sun.jmx"),
ExclusionRule(organization = "javax.jms")
),
"org.neo4j" % "neo4j" % "1.9.M05" excludeAll(
ExclusionRule(organization = "org.neo4j", name="neo4j-kernel")
),
"org.neo4j" % "neo4j-kernel" % "1.9.M05" % "test" classifier "tests" classifier "",
"asm" % "asm-all" % "3.1",
"org.springframework.data" % "spring-data-neo4j-rest" % "2.1.0.RELEASE" excludeAll(
ExclusionRule(organization = "org.neo4j")
),
"org.neo4j" % "neo4j-rest-graphdb" % "1.9.M04",
"org.scalaz" %% "scalaz-core" % "7.0-SNAPSHOT" withSources(),
"org.specs2" %% "specs2" % "1.13.1-SNAPSHOT" % "test" withSources(),
"org.mockito" % "mockito-all" % "1.9.0" %"test",
"securesocial" %% "securesocial" % "master-SNAPSHOT" withSources()
)
Was könnte ich tun, um diese riesige Schneckengröße zu reduzieren? Selbst wenn ich einige Dokumentationen und Gläserquellen entferne, wäre die Größe sehr groß.
Es scheint wirklich, dass Zielordner Spiel App .. trotz der .gitignore
Datei
Natürlich gesendet wird, ich meine Heroku App mit dieser buildpack erstellt haben: https://github.com/heroku/heroku-buildpack-scala
Außerdem ist es eine Möglichkeit, präzise in SBT (oder Play-Konfiguration), dass Abhängigkeiten wie Specs2 (Testing) sollten nicht in Heroku Produktionsumgebung heruntergeladen werden?
EDIT ---------
ich den folgenden Befehl ausführen habe die tatsächliche Größe zu zeigen, was ich auf Heroku geschoben:
MikaPc:wwa Mika$ heroku run bash
Running `bash` attached to terminal... up, run.9266
~ $ du -h --apparent-size --max-depth 2
5.3K ./test/resources
12K ./test/unit
5.6K ./test/functional
6.5K ./test/context
8.5K ./test/acceptance
5.2K ./test/integration
47K ./test
5.0K ./app/helpers
33K ./app/controllers
11K ./app/models
161K ./app/assets
34K ./app/views
8.0K ./app/applicationservices
5.0K ./app/repositories
20K ./app/utils
281K ./app
8.7M ./target/scala-2.10
1.4M ./target/resolution-cache
143K ./target/streams
60M ./target/staged
71M ./target
1.1M ./.sbt_home/bin
834K ./.sbt_home/.sbt
1.9M ./.sbt_home
30K ./public/images
171K ./public/javascripts
9.6K ./public/stylesheets
214K ./public
4.0K ./.ivy2/cache
8.0K ./.ivy2
1.1M ./.jdk/bin
19M ./.jdk/lib
203K ./.jdk/include
227M ./.jdk/jre
247M ./.jdk
2.8M ./project/target
20K ./project/project
53M ./project/boot
56M ./project
12K ./conf
375M .
375 Mo vor der Kompression Ich stelle mir vor, bis zu 222Mo .. hum
Und der Gewinner ist: 227M ./.jdk/jre
Teil der Slug Größe. Es ist normal?
Verstanden :) Vielen Dank! – Mik378
Ich freue mich auf die aktualisierten Dokumente. – adib
@adib Was passiert ist, war, dass wir einen Weg gefunden haben, die Größe des gepackten JDK zu reduzieren. Sie sollten die Slug-Größe drastisch reduzieren, wenn Sie neue Veröffentlichungen veröffentlichen. Wenn nicht, wenden Sie sich bitte an den Heroku-Support. – friism