1

Docker Cloud を使用して、プロジェクトへのPR を自動的にテストしようとしています。次のようにビルドルールを設定しました。

自動テスト用の Docker Cloud ビルド ルール

Dockerfile:

FROM ノード:8.4.0-alpine

ENV NODE_ENV=プロダクション

WORKDIR /olimat/api

COPY package.json package-lock.json ./

npm install --quiet を実行します

COPY ./パブリック ./パブリック
コピー ./config ./config
コピー ./src ./src

CMD npm 開始

Dockerfile.dev:

FROM ノード:8.4.0-alpine

WORKDIR /olimat/api

COPY package.json package-lock.json ./

npm install --quiet を実行します

COPY ./パブリック ./パブリック
コピー ./config ./config

コピー ./src ./src

コピー ./db ./db

docker-compose.test.yml:

バージョン: '3.2'

サービス:
  サット:
    建てる:
      環境: 。/
      dockerfile: Dockerfile.dev
    コマンド: npm テスト
    依存するもの:
      - アピ
    環境:
      NODE_ENV: テスト
  API:
    建てる:
      環境: 。/
      dockerfile: Dockerfile
    依存するもの:
      -デシベル
  デシベル:
    環境:
      POSTGRES_USER: ポストグル
      POSTGRES_PASSWORD: dev123
    画像: postgres:9.6.4-alpine

テストをローカルで実行します。

docker-compose -f docker-compose.test.yml run 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
MinAPI バージョン: 1.12
GitCommit: 874a737
OS: Linux
バージョン: go1.8.3
index.docker.io/unemat/olimat-backend:latest... のビルドを開始しています...
ステップ 1/9 : FROM node: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
> node-gyp の再構築 > build_log.txt 2>&1 || 出口0
19.34 秒で 261 個のパッケージを追加
---> a22bd7c951bd
中間コンテナの削除 459a90d4ce4f
ステップ 6/9 : COPY ./public ./public
---> 3555f3f71011
中間コンテナの取り外し f6343f447c14
ステップ 7/9 : COPY ./config ./config
---> ffebbe0eae44
中間コンテナ 1b6a25d1b044 の削除
ステップ 8/9 : COPY ./src ./src
---> ae66609e0177
中間コンテナの削除 a139a0a67b34
ステップ 9/9 : CMD npm 開始
---> b1bc735877c5 で実行中
---> fba69367a862
中間コンテナ b1bc735877c5 の削除
fba69367a862 のビルドに成功しました
unemat/olimat-backend:latest のタグ付けに成功しました
docker-compose.test.yml でテストを開始しています...
db は画像を使用し、スキップします
API の構築
ステップ 1/9 : FROM node: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 : COPY ./public ./public
---> キャッシュの使用
---> 3555f3f71011
ステップ 7/9 : COPY ./config ./config
---> キャッシュの使用
---> ffebbe0eae44
ステップ 8/9 : COPY ./src ./src
---> キャッシュの使用
---> ae66609e0177
ステップ 9/9 : CMD npm 開始
---> キャッシュの使用
---> fba69367a862
fba69367a862 のビルドに成功しました
bs3klcfwuijavr4uf4daf28_api:latest のタグ付けに成功しました
建屋
ステップ 1/9 : FROM node: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
> node-gyp の再構築 > build_log.txt 2>&1 || 出口0
32.983 秒で 666 個のパッケージを追加
---> 8f2ace5a6f9e
中間コンテナの削除 f9f053df7774
ステップ 6/9 : COPY ./public ./public
---> 0cac78c670e2
中間コンテナ ab0f50cbc747 の削除
ステップ 7/9 : COPY ./config ./config
---> ce57c484d544
中間コンテナ 126828beed7d の削除
ステップ 8/9 : COPY ./src ./src
---> 7cd682b0f4d9
中間コンテナの削除 819d441c2307
ステップ 9/9 : COPY ./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 情報ライフサイクル olimat-backend@0.0.1~pretest: olimat-backend@0.0.1
npm 情報ライフサイクル 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.505 秒
すべてのテスト スイートを実行しました。
ビルドがキャンセルされました。
エラー: ビルドは終了コード 3 で失敗しました
「master:/api」(4eeca024) のビルドは 1:46:31 後にキャンセルされました
4

0 に答える 0