Bitbucket管道在docker(Scala)中使用cassandra进行测试时,由于内存不足而失败



我有Scala测试,需要docker cassandra启动并运行。

我得到了其中一个取决于配置

  • Container 'Build' exceeded memory limit.
  • Container 'docker' exceeded memory limit.
  • Cassandra容器OOM

最终获胜的是cassandra配置,还有一组比特桶配置:

  • cassandra env变量,为测试容器设置,但可以通过任何其他方式传递给docker
val container: CassandraContainer = CassandraContainer()
container.container.addEnv("JVM_OPTS", "-Xms1024M -Xmx1024M")
container.container.addEnv("HEAP_NEWSIZE", "128M")
container.container.addEnv("MAX_HEAP_SIZE", "2048M")
container.start()
  • 比特桶管道
options:
docker: true
size: 2x # Increase max size to 8GB
definitions:
services:
docker:
memory: 4096 # Give 4 to docker
...
- step:
name: run the tests
caches:
- sbt
- ivy2
script:
- export TESTCONTAINERS_RYUK_DISABLED=true
# Limit sbt memory usage
- export SBT_OPTS="-Xms1024m -Xmx1024m -XX:+CMSClassUnloadingEnabled -Xss4m -XX:+UseConcMarkSweepGC"
- sbt -v scalafmtSbtCheck scalafmtCheck +compile +test
services:
- docker

最新更新