Jenkins 运行 yarn build 失败,但是手动登录到服务器 Nodejs yarn build 就成功

发布于 1周前 作者 htzhanglong 来自 nodejs/Nestjs

Jenkins 运行 yarn build 失败,但是手动登录到服务器 Nodejs yarn build 就成功

各位大佬好,遇到了一个神奇的问题,我利用 jenkins 拉下来项目代码后,直接 ssh 登录到 jenkins 服务器上执行 yarn install yarn build 就没有什么问题,如果把这两条命令,放到 jenkins 的 shell 中,就会报错,而且没有错误日志,只是返回了一个

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Build step 'Execute shell' marked build as failure
Finished: FAILURE

求各位大佬指点一下 要怎么解决这个问题,非常感谢 😄


3 回复

你 ssh 登录的是什么用户?用什么用户运行的 jenkins ?


大佬好,感谢回帖,我解决了,是因为缺少一条 CI=false 的环境变量,加上后就成功了😄 不加这条环境变量的话,warning 会被 shell 识别成 error

针对您提到的Jenkins运行yarn build失败,但手动在服务器上执行成功的问题,这通常是由于环境差异或权限问题导致的。以下是一些可能的解决步骤和检查点:

  1. 环境变量检查: 确保Jenkins运行环境中Node.js和Yarn的版本与手动登录时一致。可以在Jenkins的构建脚本中添加打印环境变量的步骤,比如:

    echo "Node.js version: $(node -v)"
    echo "Yarn version: $(yarn -v)"
    
  2. 工作目录权限: Jenkins运行的用户可能没有足够的权限访问项目目录或写入构建输出。尝试修改项目目录的权限,或确保Jenkins以正确的用户身份运行。

  3. 依赖缓存: Jenkins可能使用了与手动运行不同的依赖缓存。尝试清除Yarn缓存:

    yarn cache clean
    
  4. 构建脚本: 检查Jenkins的构建脚本是否完整包含了所有必要的步骤,特别是环境设置和依赖安装。

  5. 日志分析: 详细查看Jenkins构建日志,找出具体的错误信息。可能是某个特定的依赖或配置在Jenkins环境中不被支持。

  6. 重试构建: 在进行了上述检查后,重新触发Jenkins构建,观察是否仍然失败。

如果问题依旧,建议将完整的Jenkins构建日志和手动执行的详细步骤进行对比,找出差异点。希望这些步骤能帮助您解决问题!

回到顶部