Heroku如何计算slu size尺寸?
我正在做一个简单的Google Web工具包网络应用。我使用Spring Roo来帮助我处理锅炉代码,它创建了一个小应用程序“费用”,与Google IO上显示的应用程序相同。
对于生成的POM.xml文件,我在Heroku的spring mvc教程中添加了一个< artifactId> jetty-runner< / artifactId> 。
现在,当我在终端maven中运行git push heroku master
时,开始在Heroku端获取依赖项,然后我得到[INFO] BUILD SUCCESS
但是Heroku拒绝了我的推送。
-----> Push rejected, your compiled slug is 138.0MB (max is 100MB).
See: http://devcenter.heroku.com/articles/slug-size ! Heroku push rejected, slug too large
我生成的war文件在本地创建时最终为31Mb。但目标目录最终会像编译的slug大小一样,所以我添加了一个slugignore文件。
$ cat .slugignore
target/*
!target/*.war
将它推向Heroku,它仍然向我Push rejected, your compiled slug is 138.0MB (max is 100MB).
所以我的问题是Heroku计算它的slu size大小?我已经阅读了他们的文档,但它非常稀疏。
答案 0 :(得分:2)
由于这是谷歌的第一个链接之一,我想我会通过Chris Auer的一篇简单的博客文章添加我找到的解决方案,其中详细介绍了添加maven插件执行:http://enlightenmint.com/blog/2012/06/22/reducing-slug-size-for-heroku.html < / p> 编辑:基于oers评论,上述链接的亮点是在插件执行中声明maven-clean-plugin并包含目标/目录(和所有子目录),同时排除* .war文件。应该在安装阶段(而不仅仅是干净阶段)调用该插件的执行阶段。
完整地(如果网站发生故障),它看起来像这样:
<plugins>
....
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>target/</directory>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>dependency/*.jar</exclude>
<exclude>*.war</exclude>
</excludes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
</configuration>
<executions>
<execution>
<id>auto-clean</id>
<phase>install</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
....
答案 1 :(得分:1)
https://devcenter.heroku.com/articles/slug-compiler
的弹头尺寸您的slug大小会在成功编译结束时显示。您可以通过对应用程序进行全新检查,删除.git目录以及运行du -hsc来粗略估计当地的段塞大小。
$ du -hsc | grep total