bitbucket 管道错误 - 容器“docker”超出内存限制

Ela*_*ser 7 docker bitbucket-pipelines

我看到 bitbucket 管道错误 - 运行 bitbucket 管道时容器“docker”超出了内存限制。我尝试按照以下文档使用所有可能的服务内存限制,但问题未解决。 https://confluence.atlassian.com/bitbucket/use-services-and-databases-in-bitbucket-pipelines-874786688.html#UseservicesanddatabasesinBitbucketPipelines-Servicememorylimits

你能帮助解决问题吗?

小智 16

这是因为您的构建占用的内存多于分配的内存为了解决此问题,您需要将其添加到 bitbucket-pipelines.yml 中

image: .....
options:      <= Add this
  docker: true <= Add this
  size: 2x   <= Add this
pipelines:
  branches:
   branches:
    master:
      - step:
          caches:
            - ....
          services: <= Add this
            - docker <= Add this
definitions: <= Add this
  services: <= Add this
    docker: <= Add this
      memory: 4096 <= Add this
Run Code Online (Sandbox Code Playgroud)

  • 为什么我需要添加 options|docker 以及 services|docker?我认为 options|docker 只是为每个步骤提供 docker 服务的简写? (3认同)

Küz*_*áté 14

我联系了bitbucket,他们提供了一个解决方案:

  • 在管道的开头(在管道之前:)

选项:
  泊坞窗:真实
  大小:2x

  • 在每一个大步骤:

名称:XXXX
图像:google/cloud-sdk:最新
服务:
  - docker
大小:2x

  • 在管道的末端:

定义:
  服务:
    docker:
      内存:4096

  • 为什么我需要添加 options|docker 以及 services|docker?我认为 options|docker 只是为每个步骤提供 docker 服务的简写? (3认同)

小智 5

如前所述,您可以size: 2x在步骤上使用来增加该步骤的内存限制,或在选项中设置它,这将自动为所有步骤启用 2 倍大小。

然而,值得注意的是,与常规步骤相比,这样做将消耗两倍的构建分钟数,实际上成本是两倍,如此处所述