带有测试容器的 BitBucket 管道无法正常工作

2024-01-02

当尝试使用测试容器运行 bitbucket 管道时,我遇到此错误

无法启动容器 java.lang.IllegalStateException:Container 没有正确启动。

没有其他问题,但也许与 Binds 有关?日志:

"HostConfig":"绑定":["/opt/atlassian/pipelines/agent/build/src/test/resources:/opt/atlassian/pipelines/agent/build/src/test/resources:rw","/var/run/docker.sock:/docker.sock:rw"]

管道配置:

pipelines:
  pull-requests:
    '**':
       - step:
           name: Integration tests
           caches:
              - maven
           after-script:
              - pipe: atlassian/checkstyle-report:0.3.0
           script:
              - export TESTCONTAINERS_RYUK_DISABLED=true
              - export TESTCONTAINERS_CHECKS_DISABLE=true
              - mvn -B verify -Dsurefire.skip=true --file pom.xml
           services:
              - docker
       - step:
           name: Build
           caches:
              - maven
           after-script:
              - pipe: atlassian/checkstyle-report:0.3.0
           script:
              - mvn -B package --file pom.xml -DskipTests
           services:
              - docker
definitions:
   services:
      docker:
         memory: 3072

docker-compose.yml

services:
  db:
    image: postgres:14.1
    ports:
       - "5432:5432"
    expose:
       - "5432"
    networks:
       - example-network
    environment:
       - "POSTGRES_USER=${DB_USER:-postgres}"
       - "POSTGRES_PASSWORD=${DB_PASSWORD:-postgres}"
       - "POSTGRES_DB=${DB_SCHEMA:-testdb}"
    logging:
       driver: json-file
       options:
          mode: "non-blocking"
 networks:
    example-network:
       driver: bridge

docker 组成容器:

    DOCKER_COMPOSE_CONTAINER =
        new DockerComposeContainer(new File("src/test/resources/docker-compose.yml"))
                .withExposedService(SERVICE_NAME, SERVICE_PORT, 
    Wait.forListeningPort());
    DOCKER_COMPOSE_CONTAINER.start();

我也尝试过不使用 TESTCONTAINERS_CHECKS_DISABLE=true 但出现类似错误

状态 403:{“message”:“插件管道拒绝授权:-v 仅支持 $BITBUCKET_CLONE_DIR 及其子目录”}

有人可以帮忙吗?


正如您收到的错误消息所解释的,Bitbucket Pipelines Docker 引擎只允许安装项目源的子目录。

我不知道为什么你打算挂载 /var/run/docker.sock 或者你是否可以避免它,但 Bitbucket 通常将 Docker 引擎转发到生成的容器的方式,例如在管道中,是通过设置

...
--env=DOCKER_HOST="tcp://host.docker.internal:2375" \
--add-host="host.docker.internal:$BITBUCKET_DOCKER_HOST_INTERNAL" \
...

所以可能需要模仿。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有测试容器的 BitBucket 管道无法正常工作 的相关文章

随机推荐

  • 使用空条件布尔?在 if 语句中[重复]

    这个问题在这里已经有答案了 为什么这段代码有效 if list Any true 但这段代码没有 if list Any saying 错误 CS0266 无法隐式转换类型 bool 布尔 那么为什么它不是一个语言特性在中进行这样的隐式转换
  • 从 github 安装 R 包时出错:找不到构建 data.table 所需的构建工具

    在 RStudio 中 我尝试从 github 安装 data table 包 如下这些说明 https stackoverflow com a 9656182 4945268 并且该包似乎下载没有问题 gt library devtool
  • 我的应用程序如何检测另一个应用程序窗口的更改?

    在 Mac 上的 Cocoa 中 我想检测属于另一个应用程序的窗口何时被移动 调整大小或重新绘制 我怎样才能做到这一点 您需要使用 Accessibility API 它们是纯 C 语言 位于 ApplicationServices 框架内
  • 如何更改 Firebase 身份验证的应用名称(用户看到的内容)

    感谢 Firebase v 3 9 0 我的社交 OAuth 在我的 ionic 应用程序中运行良好 我想做一个小小的改变 当提示登录时 它会显示 登录以继续my real appname 12345f firebaseapp com 如何
  • C# 进度条与下载不同步(WebClient 类)

    我正在编写一个系统 其中包含一个小型 FTP 模块 它根本不是主要功能 但需要 我必须将进度条与 WebClient 类事件 DownloadProgressChangedEventHandler 和 AsyncCompletedEvent
  • 如何访问隐藏分区/卷

    我必须使用 C 或 C 编写代码来访问隐藏的磁盘分区 卷 但找不到有关此事的任何帮助参考 作为隐藏卷 它不包含 磁盘盘符 因此您不能仅键入 C 并访问它 一个例子是 Windows 附带的 恢复分区 你在资源管理器上看不到它 但它就在那里
  • 活锁的好例子?

    我了解活锁是什么 但我想知道是否有人有一个很好的基于代码的示例 通过基于代码 我做not意思是 两个人试图在走廊里超越对方 如果我再读一遍 我就会失去午餐 这是一个非常简单的 Java 活锁示例 丈夫和妻子试图喝汤 但他们之间只有一把勺子
  • OpenJDK 与 OracleJDK 中的字体稍宽

    我注意到使用 OpenJDK 与 OracleJDK 的字体间距存在差异 我已将范围缩小到字体 它们由 OpenJDK 渲染得稍宽一些 仔细目视上面的屏幕截图显示字符宽度是相同的 唯一的区别是间距 我还通过对所有字符 A Za z0 9 的
  • 压缩序列化 Python 数据最节省空间的方法是什么?

    From Python 文档 https docs python org 3 library pickle html 默认情况下 pickle 数据格式使用相对紧凑的二进制表示形式 如果您需要最佳的大小特征 您可以有效地压缩腌制数据 我将在
  • 在确认弹出窗口中取消来自 javascript 的回发

    出现这个问题后ASP NET 如果使用 onclick 则不会调用 OnServerClick 事件处理程序 https stackoverflow com questions 1245033 asp net onserverclick e
  • CodeIgniter - 奇怪的输出问题

    我发现脚本输出存在一个非常奇怪的问题 有时我会在输出开始之前得到一个四位十六进制代码 并在输出末尾得到一个零 例如 2fc3 0 十六进制数根据请求的 uri 和 或内容而变化 我没有使用缓存并且输出压缩已关闭 我在几个项目中看到了这个问题
  • 无法在 Ubuntu Windows 上的 bash 上连接到 Docker 守护进程

    我能够安装 docker docker compose 和 docker machine 但是当我尝试跑步时 root DESKTOP 51NFMIM docker ps Cannot connect to the Docker daemo
  • (对象)是一个“字段”,但使用方式类似于“类型”

    我的智能感知给了我错误 ClassLibrary1 GetTimeZone myWorldTime 是一个 字段 但使用方式类似于 类型 知道我做错了什么吗 Object Browser for the class1 https i sta
  • 如何获得唯一确定给定双精度的“最短”BigDecimal

    基本上 我很好奇如何掌握new BigDecimal Double toString d 无需经历创建字符串的过程 The 的文档Double toString http download oracle com javase 6 docs
  • 使用 ASCII 和基数 128 混淆字符串

    假设一个字符串是一个数字系统 其中每个事物 可以是字符 DEL 或任何 ASCII 事物 根据该 ASCII 都有一个对应的数字table http web eecs utk edu pham ascii table jpg 在Python
  • 在 OpenCL 内核中实现小型查找表的最佳方法是什么

    在我的内核中 需要对一个小查找表 只有 8 个 32 位整数 进行大量随机访问 每个内核都有一个唯一的查找表 下面是内核的简化版本 用于说明如何使用查找表 kernel void some kernel global uint global
  • 对 iCalUId 进行过滤返回空数组

    以下查询返回空数组https graph microsoft com v1 0 me events filter iCalUId eq
  • Eclipse - 更新/安装新软件非常慢

    这个问题之前已经描述过 但建议的解决方案都不适合我 这就是问题 我已经安装了最新版本的 Eclipse Luna 4 4 1 如果我想进行更新或安装新软件 则需要很长时间才能完成 很多小时 如果我将所需的软件下载到本地存档 更新站点并从那里
  • 我可以访问 Lotus Notes 的数据库吗?

    这是我第一次使用 Lotus Notes 所以我只知道如何使用它 我也是一名开发人员 所以我对数据库有所了解 目前 我收到将用户添加到 AD 帐户或从 AD 禁用用户甚至修改其在 AD 中的属性的请求 这些请求是通过 Lotus Notes
  • 带有测试容器的 BitBucket 管道无法正常工作

    当尝试使用测试容器运行 bitbucket 管道时 我遇到此错误 无法启动容器 java lang IllegalStateException Container 没有正确启动 没有其他问题 但也许与 Binds 有关 日志 HostCon