base grails 3.3.8 应用程序消除了 heroku 内存限制
base grails 3.3.8 app demolishes heroku memory limit
我正在尝试编写一个简单的 grails 3.3.8 应用程序,我想将其部署到 heroku。
我从一个简单的 grails 应用开始:
$ grails create-app example
然后我添加了一个 Procfile:
web: ./gradlew bootRun -Dgrails.server.port=$PORT
以及 build.gradle
的阶段任务:
task stage(dependsOn: assemble)
我认为这个应用程序什么都不做,因此不应该强调 512M heroku dyno,但是:
2018-11-05T02:43:28.390592+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2018-11-05T02:43:32.587318+00:00 heroku[web.1]: Process running mem=729M(142.5%)
2018-11-05T02:43:32.587564+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2018-11-05T02:43:36.536505+00:00 app[web.1]: :buildProperties
2018-11-05T02:43:37.378484+00:00 app[web.1]: :processResources
2018-11-05T02:43:37.381277+00:00 app[web.1]: :classes
2018-11-05T02:43:37.403505+00:00 app[web.1]: :findMainClass
2018-11-05T02:43:37.519404+00:00 app[web.1]: :bootRunPicked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2018-11-05T02:43:54.618402+00:00 heroku[web.1]: Process running mem=1164M(227.5%)
2018-11-05T02:43:54.618533+00:00 heroku[web.1]: Error R15 (Memory quota vastly exceeded)
2018-11-05T02:43:54.618676+00:00 heroku[web.1]: Stopping process with SIGKILL
2018-11-05T02:43:54.788397+00:00 heroku[web.1]: Process exited with status 137
2018-11-05T02:43:54.804734+00:00 heroku[web.1]: State changed from starting to crashed
bootRun
适用于 运行 在本地进行和开发。它针对快速开发进行了优化,不适用于 运行 生产。
到 运行 在生产中你通常会 运行
./gradlew assemble
# Deploy build/libs/app.jar(or war) to your server
java -jar app.jar
运行 spring-boot/grails 应用程序还有很多方法,例如部署到 tomcat 或其他 servlet 容器。
我正在尝试编写一个简单的 grails 3.3.8 应用程序,我想将其部署到 heroku。
我从一个简单的 grails 应用开始:
$ grails create-app example
然后我添加了一个 Procfile:
web: ./gradlew bootRun -Dgrails.server.port=$PORT
以及 build.gradle
的阶段任务:
task stage(dependsOn: assemble)
我认为这个应用程序什么都不做,因此不应该强调 512M heroku dyno,但是:
2018-11-05T02:43:28.390592+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2018-11-05T02:43:32.587318+00:00 heroku[web.1]: Process running mem=729M(142.5%)
2018-11-05T02:43:32.587564+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2018-11-05T02:43:36.536505+00:00 app[web.1]: :buildProperties
2018-11-05T02:43:37.378484+00:00 app[web.1]: :processResources
2018-11-05T02:43:37.381277+00:00 app[web.1]: :classes
2018-11-05T02:43:37.403505+00:00 app[web.1]: :findMainClass
2018-11-05T02:43:37.519404+00:00 app[web.1]: :bootRunPicked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2018-11-05T02:43:54.618402+00:00 heroku[web.1]: Process running mem=1164M(227.5%)
2018-11-05T02:43:54.618533+00:00 heroku[web.1]: Error R15 (Memory quota vastly exceeded)
2018-11-05T02:43:54.618676+00:00 heroku[web.1]: Stopping process with SIGKILL
2018-11-05T02:43:54.788397+00:00 heroku[web.1]: Process exited with status 137
2018-11-05T02:43:54.804734+00:00 heroku[web.1]: State changed from starting to crashed
bootRun
适用于 运行 在本地进行和开发。它针对快速开发进行了优化,不适用于 运行 生产。
到 运行 在生产中你通常会 运行
./gradlew assemble
# Deploy build/libs/app.jar(or war) to your server
java -jar app.jar
运行 spring-boot/grails 应用程序还有很多方法,例如部署到 tomcat 或其他 servlet 容器。