jenkins 编译react项目报错

报以下错误

10:16:17 + npm run build:qa
10:16:17
10:16:17 > xxx-web@0.1.0 build:qa
10:16:17 > DISABLE_ESLINT_PLUGIN=true cross-env NODE_STAGE=qa node scripts/build.js
10:16:17
10:16:18 Creating an optimized production build...
10:18:20
10:18:20 Treating warnings as errors because process.env.CI = true.
10:18:20 Most CI servers set it automatically.
10:18:20
10:18:20 Failed to compile.
10:18:20


错误原因很明显。因为环境变量 process.env.CI 被设置为 true,所以警告被当作错误处理。在 create-react-app 中,如果 CI 环境变量被设置为 true(这在大多数 CI 服务器上是默认设置),那么构建过程中的任何警告都会导致构建失败。

解决方案:

允许警告: 如果你决定警告不会影响你的应用程序,你可以在 Jenkins 任务中显式地设置 CI 环境变量为 false。这样,警告不会被当作错误处理:

CI=false npm run build:qa

或者修改构建脚本: 你可以更新你的 package.json 中的构建命令,强制它不考虑 CI 环境变量。例如:

"build:qa": "CI=false DISABLE_ESLINT_PLUGIN=true cross-env NODE_STAGE=qa node scripts/build.js"
但这种方法的缺点是它会修改所有环境的构建行为,不仅仅是 Jenkins。

posted @ 2023-09-27 10:42  桃之夭夭丶  阅读(200)  评论(0编辑  收藏  举报