nodejs:如何 运行 测试然后构建 dockerfile

nodejs: how to run tests and then build dockerfile

我正在尝试创建一个基本的 CI CD 管道,我正在尝试创建用于 运行 测试的批处理文件,然后执行 docker 构建。这是我的基本批处理文件

@ECHO OFF
call npm run test
call docker build -t my-docker-file .
PAUSE

我如何知道所有测试是否都运行成功?我正在使用 mocha 和 chai

首先,您需要使用 --exit 标志来执行您的测试。我的 package.json 看起来像这样:

"test": "mocha test --timeout 4000  --exit"

因此当测试完成时,控制台不会卡在打开状态。

然后,想法是在批处理和节点之间创建通信。我用过 bash 但思路是一样的。

基本上是在测试通过后写入 .env 文件,并在执行后检查变量是否设置为 true。

首先,要做到这一点,您需要用这个更新您的 test.js 文件。

我用envfile。你可以检查这个

//get the reference to your environment file and update

//THIS is you have to add
afterEach(function () {
    const state = this.currentTest.state;
    if (state !== "passed") {
        //write into .env: MYENVVAR=0
    }
});

然后,您将在 .env 文件中加入一个变量,以了解测试是否已正确执行。

因此,下一步是读取批处理中的值,如果可以则继续。