1

我正在尝试使用 Docker Cloud自动测试我的项目的 PR。我设置了如下构建规则:

用于自动测试的 Docker Cloud 构建规则

Dockerfile:

FROM 节点:8.4.0-alpine

ENV NODE_ENV=生产

工作目录 /olimat/api

复制 package.json package-lock.json ./

运行 npm install --quiet

复制 ./public ./public
复制 ./config ./config
复制 ./src ./src

CMD npm 启动

Dockerfile.dev:

FROM 节点:8.4.0-alpine

工作目录 /olimat/api

复制 package.json package-lock.json ./

运行 npm install --quiet

复制 ./public ./public
复制 ./config ./config

复制 ./src ./src

复制 ./db ./db

码头工人-compose.test.yml:

版本:'3.2'

服务:
  苏特:
    建造:
      语境: 。/
      dockerfile: Dockerfile.dev
    命令:npm 测试
    取决于:
      - api
    环境:
      NODE_ENV:测试
  接口:
    建造:
      语境: 。/
      码头文件:码头文件
    取决于:
      - D b
  D b:
    环境:
      POSTGRES_USER:postgres
      POSTGRES_PASSWORD:dev123
    图片:postgres:9.6.4-alpine

在本地运行测试,使用

docker-compose -f docker-compose.test.yml 运行 sut
一切正常:

本地测试

在 Docker Cloud 上,测试运行,但似乎永远不会返回退出代码:

Docker Cloud Autotest 需要很长时间

我在这里 1 小时 46 分钟后取消了。发生了什么?运行测试后如何使sut服务容器退出?

完整的构建日志:

在 Docker Cloud 的基础架构中构建...
克隆成'.'...
警告:将 IP 地址“192.30.253.112”的 RSA 主机密钥永久添加到已知主机列表中。
重置分支“主”
你的分支是最新的'origin/master'。
为 index.docker.io/unemat/olimat-backend:latest 拉取缓存层...
完毕!
内核版本:4.4.0-93-generic
拱门:amd64
构建时间:2017-08-17T22:50:04.828747906+00:00
API版本:1.30
版本:17.06.1-ce
最小API版本:1.12
GitCommit: 874a737
操作系统:linux
版本:go1.8.3
开始构建 index.docker.io/unemat/olimat-backend:latest...
步骤 1/9:从节点:8.4.0-alpine
---> 016382f39a51
步骤 2/9 : ENV NODE_ENV 生产
---> 在 b0aa12f6d329 中运行
---> 8c0420481faa
删除中间容器 b0aa12f6d329
步骤 3/9:WORKDIR /olimat/api
---> 669997c76951
卸下中间容器 b9344977ce13
第 4/9 步:复制 package.json package-lock.json ./
---> 562fb1b9d9db
卸下中间容器 3778fb63cd12
步骤 5/9:运行 npm install --quiet
---> 在 459a90d4ce4f 中运行
> uws@0.14.5 安装 /olimat/api/node_modules/uws
> 节点 gyp 重建 > build_log.txt 2>&1 || 出口 0
19.34s 新增 261 个包
---> a22bd7c951bd
卸下中间容器 459a90d4ce4f
步骤 6/9:复制 ./public ./public
---> 3555f3f71011
卸下中间容器 f6343f447c14
步骤 7/9:复制 ./config ./config
---> ffebbe0eae44
卸下中间容器 1b6a25d1b044
步骤 8/9:复制 ./src ./src
---> ae66609e0177
卸下中间容器 a139a0a67b34
步骤 9/9:CMD npm 启动
---> 在 b1bc735877c5 中运行
---> fba69367a862
卸下中间容器 b1bc735877c5
成功搭建fba69367a862
成功标记 unemat/olimat-backend:latest
在 docker-compose.test.yml 中开始测试...
db 使用图像,跳过
构建api
步骤 1/9:从节点:8.4.0-alpine
---> 016382f39a51
步骤 2/9 : ENV NODE_ENV 生产
---> 使用缓存
---> 8c0420481faa
步骤 3/9:WORKDIR /olimat/api
---> 使用缓存
---> 669997c76951
第 4/9 步:复制 package.json package-lock.json ./
---> 使用缓存
---> 562fb1b9d9db
步骤 5/9:运行 npm install --quiet
---> 使用缓存
---> a22bd7c951bd
步骤 6/9:复制 ./public ./public
---> 使用缓存
---> 3555f3f71011
步骤 7/9:复制 ./config ./config
---> 使用缓存
---> ffebbe0eae44
步骤 8/9:复制 ./src ./src
---> 使用缓存
---> ae66609e0177
步骤 9/9:CMD npm 启动
---> 使用缓存
---> fba69367a862
成功搭建fba69367a862
成功标记 bs3klcfwuijavr4uf4daf28_api:latest
建筑物
步骤 1/9:从节点:8.4.0-alpine
---> 016382f39a51
步骤 2/9:维护者 Josias Iquabius
---> 在 ed1306bea19a 中运行
---> 5956fb44e0cc
卸下中间容器 ed1306bea19a
步骤 3/9:WORKDIR /olimat/api
---> be7fd8615cd4
移除中间容器 2bde5cfe6bdd
第 4/9 步:复制 package.json package-lock.json ./
---> b68a99364f80
移除中间容器 d0f4715b4774
步骤 5/9:运行 npm install --quiet
---> 在 f9f053df7774 中运行
> uws@0.14.5 安装 /olimat/api/node_modules/uws
> 节点 gyp 重建 > build_log.txt 2>&1 || 出口 0
在 32.983 秒内增加了 666 个包
---> 8f2ace5a6f9e
删除中间容器 f9f053df7774
步骤 6/9:复制 ./public ./public
---> 0cac78c670e2
卸下中间容器 ab0f50cbc747
步骤 7/9:复制 ./config ./config
---> ce57c484d544
卸下中间容器 126828beed7d
步骤 8/9:复制 ./src ./src
---> 7cd682b0f4d9
卸下中间容器 819d441c2307
步骤 9/9:复制 ./db ./db
---> 244561b4bc52
卸下中间容器 1a80d8f935b4
成功搭建244561b4bc52
成功标记 bs3klcfwuijavr4uf4daf28_sut:latest
使用默认驱动程序创建网络“bs3klcfwuijavr4uf4daf28_default”
拉数据库(postgres:9.6.4-alpine)...
9.6.4-alpine:从库/postgres 中提取
摘要:sha256:5fd73de311d304caeb4f907d4f559d322805abc622e4baf5788c6a079ee5224e
状态:为 postgres 下载了更新的图像:9.6.4-alpine
创建 bs3klcfwuijavr4uf4daf28_db_1 ...
创建 bs3klcfwuijavr4uf4daf28_db_1
创建 bs3klcfwuijavr4uf4daf28_db_1 ... 完成 创建 bs3klcfwuijavr4uf4daf28_api_1 ...
创建 bs3klcfwuijavr4uf4daf28_api_1
创建 bs3klcfwuijavr4uf4daf28_api_1 ... 完成 创建 bs3klcfwuijavr4uf4daf28_sut_1 ...
创建 bs3klcfwuijavr4uf4daf28_sut_1
创建 bs3klcfwuijavr4uf4daf28_sut_1 ... 完成
npm info 如果以 ok 结尾,它就可以工作
使用 npm@5.3.0 的 npm 信息
使用 node@v8.4.0 的 npm 信息
npm info 生命周期 olimat-backend@0.0.1~pretest: olimat-backend@0.0.1
npm info 生命周期 olimat-backend@0.0.1~test: olimat-backend@0.0.1
> olimat-backend@0.0.1 测试 /olimat/api
> 笑话
通过 src/services/questions/questions.test.js
● 控制台
console.log src/models/questions.model.js:10
问题表不存在!
信息:之后:问题 - 方法:查找
通过 src/app.test.js
测试套件:2 个通过,共 2 个
测试:5 次通过,共 5 次
快照:共 0 个
时间:6.505s
运行所有测试套件。
构建已取消。
错误:构建失败,退出代码为 3
内置 'master:/api' (4eeca024) 在 1:46:31 后取消
4

0 回答 0