Heroku slug尺寸计算?

时间:2011-09-07 09:49:37

标签: java gwt maven build heroku

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大小?我已经阅读了他们的文档,但它非常稀疏。

2 个答案:

答案 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