如何解决Bitbucket 管道因内存不足而失败,同时在 docker (Scala) 中使用 cassandra 进行测试
我有需要 docker cassandra 启动和运行的 Scala 测试。
根据配置我得到其中之一
Container 'Build' exceeded memory limit.
Container 'docker' exceeded memory limit.
- Cassandra 容器 OOM
解决方法
最后是 cassandra 配置,但也有一组 bitbucket 配置:
- cassandra 环境变量,为测试容器设置,但可以通过任何其他方式传递给 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()
- bitbucket 管道
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。