LoginSignup
0
0

More than 3 years have passed since last update.

Codebuildでjava.lang.OutOfMemoryError

Last updated at Posted at 2019-08-23

これと似たような話で、CodeBuildでもおきたため、その対処方法を記載。

前提

  • JenkinsがMaster、Buildの実態はCodeBuildで実施。
  • Gradleを利用。

問題

Jenkinsから呼び出されるCodeBuild pluginで以下のようなErrorが起き、CodeBuildがエラーになる。

[AWS CodeBuild Plugin] java.lang.OutOfMemoryError: Metaspace

対処

buildspec.ymlに以下のような対処を打つ。


version: 0.2

phases:
  install:
    runtime-versions:
      java: openjdk11
    commands:
      - chmod +x ./gradlew
      - touch gradle.properties
      - |
        cat <<EOL > gradle.properties
        org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m
        EOL

gradle.propertiesを作成し、それに記載するgradleのvm引数をorg.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512mのように追加すればよい。

補足

この対処を打つ場合、codebuildのコンピューティングタイプはbuild.general1.medium以上のほうがよい。

補足その2

UnitTestの場合であれば、どちらかというと↓
https://qiita.com/fake-deli-ca/items/b2cadce085595c57636d

本対応は、「Gradle自体はこちらによるとデフォルトでは1024MBヒープサイズを確保する」というのが足りなかった場合。(この辺Gradleはわかりにくい・・・。)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0