如何配置 bazel 测试以在 bitbucket 管道中运行 docker 容器?

问题描述 投票:0回答:1

我有一个 bitbucket 管道,它通过 bazel 运行一组测试,其中一些需要调用 docker 命令(集成测试)。

当我运行此管道时,出现此错误:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

我已经验证的事情:

  • 测试在本地通过(即不在管道中运行)
  • DOCKER_HOST 环境变量已在管道中正确设置

我的

bitbucket-pipelines.yml
文件具有为带有 bazel 的步骤指定的 docker 服务,如下所示:

pipelines:
  default:
    - step:
        services:
          - docker
        script:
          - bazel test //...

我希望此配置足以使测试正确运行。

docker environment-variables bitbucket bazel bitbucket-pipelines
1个回答
0
投票

事实证明 bazel 默认将环境变量传递到测试。

修复方法如下:

bazel test --action_env=DOCKER_HOST //...

https://bazel.build/docs/user-manual#action-env

© www.soinside.com 2019 - 2024. All rights reserved.