jenkins 强制msbuild使用不同于msbuild路径下的node.exe

mwecs4sa  于 2024-01-07  发布在  Jenkins
关注(0)|答案(1)|浏览(176)

我有一个.NetFramework 4. 8后端/API和一个react前端。当我尝试用msbuild在本地构建它时,它工作得很好。
当我在jenkins管道中构建它时,我得到错误“node exited with code 1”。我检查了jenkins代理(windows)中构建工具下的node.exe它有版本10.而本地我有一个版本以上16.所以我认为版本是错误的原因.在jenkins代理我也有一个节点版本16,但不在msbuild文件夹.我怎么能强制msbuild使用另一个路径作为node.exe?
我试着做了以下事情:
1.设置NODE_PATH(不影响行为)
1.运行msbuild命令,将nodejs如下所示:

  1. stage('build')
  2. {
  3. steps
  4. {
  5. nodejs(nodeJSInstallationName: 'node-v20')
  6. {
  7. bat "\"${MSBUILD}\" \"${PROJECT}"
  8. }
  9. }
  10. }

字符串
1.将node.exe从一个存储库替换到另一个存储库,并在管道准备就绪后再次替换(我没有这样做的权限)
我能想到的唯一解决方案是从.csproj文件中排除react引用,因为我也单独构建它们。
重要的是要注意,我没有任何权利的Jenkins代理。所以我不能改变任何对代理方面。
首选的解决方案是告诉msbuild使用node.exe的其他路径
提前感谢您的任何帮助或提示。

l2osamch

l2osamch1#

我无法通过改变msbuild工具使用的nodejs版本来解决这个问题。我使用msbuild工具2022解决了这个问题,它的目录中有正确的nodejs版本

相关问题