我的一个 circleci 步骤使用节点图像并触发脚本。问题是当这失败时,它仍然在 circleci 中显示为成功。
触发脚本的 config.yml 部分。
create:
docker:
- image: circleci/node:9.11
steps:
- checkout
- run:
name: Run node script
command: |
cd .circleci/scripts/
npm install
node robot.js
robot.js
脚本(非常简化(:
async function run() {
throw new Error('fail');
}
run();
当抛出错误时,我该怎么做才能使 circleci 步骤失败?
想通了。
使用process.exit(1);
因此,对于我的情况,解决方案是:
async function run() {
try {
// Code
} catch(err) {
process.exit(1);
}
}
run();
https://nodejs.org/api/process.html#process_process_exit_code