【发布时间】:2020-10-03 02:17:48
【问题描述】:
我在 nodejs 中运行一个脚本,该脚本由 Jenkins 管道运行的 bash 触发。
问题是发生错误时管道不会停止。它不应该运行“echo git add”。
我添加了set -e - 但在这种情况下似乎不起作用。
由于 npm/node 中的错误,我可以做些什么来停止 bash 中的执行?
在詹金斯:
stage('Deploy') {
sh './scripts/deploy.sh'
}
在 deploy.sh 中:
#!/bin/bash
set -e
npm run prepare-version
echo "git add ."
在 package.json 中:
"scripts": { "prepare-version": "node ./scripts/prepare.js" }
prepare.js:
(async() => {
throw new Error('bug!!!');
})();
【问题讨论】: