Benim app sülük boyutu Heroku 222 mb gösterir. Oldukça büyük ve izin verilen 200MB ötesinde.Heroku Slug boyutu 222 MB/Oynatma Çerçevesi 2.1/
Böylece, bu şeyleri kontrol ettik: 89,9 Mo80,2 Mo uygulamanın hedef klasörü oynamak için geldiğini bilerek:
benim kaynak kod boyutunu kontrol edin.
Uygulamanın hedef klasörünün iyi bir şekilde hariç tutulduğundan emin olmak için .gitignore dosyanızı kontrol edin. İşte benim .gitignore dosyası:
.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
benim SBT sarmaşık önbellek boyutunu kontrol edin: detaylı olarak 100,9 Mo İşte
(solda) Her klasörün boyutu :
MikaPc. önbellek Mika $ du -xak | sıralama -n | kuyruk -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/
1752 ./org.aspectj/aspectjweaver/jars/aspectjweaver-1.7.1.jar
1860 ./org.springframework/spring-jdbc kavanoz
1888 ./org.springframework.data/spring-data -
1980./org.scala-sbt/main/jars./org.scala-sbt/main/jars/main-0.12.2.jar
1980 ./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
2776 ./org.apache.lucene/lucene-core ./org.springframework/spring-beans
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.springframework/spring-context
4356 ./org.neo4j ./org.neo4j/neo4j-cypher/jars ./org.neo4j/neo4j-kernel/jars /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 ./org.springframework.data 6484 ./org.aspectj/aspectjweaver
6024 ./org.neo4j/neo4j-kernel
5936 jar 4824 ./org.neo4j/neo4j-cypher 5712
./org.aspectj 6520 ./org.specs2/specs2_2.10/jars
6812 ./org.scala-sbt 8288
6520 ./org.specs2/specs2_2.10/jars/specs2_2.10-1.13.1-SNAPSHOT.jar ./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
98122.
Benim SBT inşa dosyası aşağıdaki bağımlılıklar içerir:
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()
)
Ben bu büyük sümüklü böcek boyutunu azaltmak için ne yapabilir? Bazı dökümantasyonları ve kavanozları kaldırsam bile, boyut çok büyük olur.
Gerçekten
Tabii ki, ben bu buildpack kullanarak Heroku app oluşturduk .gitignore
dosyanın rağmen oyun uygulamanızın hedef klasör .. gönderildiğini görünüyor: Ayrıca https://github.com/heroku/heroku-buildpack-scala
, bir yolu yoktur SBT'de (veya oynatma yapılandırmasında), Specs2 (test) gibi bağımlılıkların korunduğu, Heroku üretim ortamında indirilmemelidir?
Ben Heroku üzerinde itti ne gerçek boyutunu göstermek için aşağıdaki komutu çalıştırın ettik
DÜZENLEME ---------: sıkıştırma önce
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 222Mo'ya kadar bitebildiğimi hayal ediyorum .. hum
Ve kazanan: 227M ./.jdk/jre
sülük boyutunun bir parçası. Bu normal mi?
Understood :) Çok teşekkürler! – Mik378
Güncellenen dokümanlar için bekliyorum. – adib
@adib Neler gerçekleşti, paketlenmiş JDK'nın boyutunu azaltmanın bir yolunu bulmamız oldu. Yeni sürümleri zorlarken büyük ölçüde azaltılmış sülük görmeniz gerekir. Değilse, lütfen Heroku desteği ile iletişime geçin. – friism