Docker Cloud を使用して、プロジェクトへのPR を自動的にテストしようとしています。次のようにビルドルールを設定しました。
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 では、テストは実行されますが、終了コードが返されないようです。
ここで 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 後にキャンセルされました