如果测试失败,则使Docker构建失败

Fra*_*ois 6 mocha.js node.js docker

Docker文件

FROM node:carbon

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm install
RUN npm install gulp -g

COPY . .

run gulp build --build
run npm test

EXPOSE 80
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)

测试使用 mocha --recursive

build.sh

docker build -t my-app .
echo $?
Run Code Online (Sandbox Code Playgroud)

我如何才能检测到一项摩卡测试失败,因此npm test不应正常进行,并且两者都不可行docker build

我可以在这里错过了一些东西。

Rob*_*jan 6

您可以将线路更改run npm testrun npm test || exit 1

进行了快速测试并确认构建失败。这是一个屏幕截图。

在此输入图像描述


mka*_*erg 5

RUN如果命令的退出代码非零,则Dockerfile中的命令将失败。如果发生这种情况,docker build也会以非零的退出代码失败。

你的npm test脚本需要时,测试失败返回非零退出代码。

作为参考,您可以检查退出代码,如下所示:

$ npm test
$ echo $?
Run Code Online (Sandbox Code Playgroud)