为什么 Jenkins 在使用 MSBuild 时忽略 %PATH% 变量?

2024-03-11

我正在尝试使用 Jenkins 编译用 Delphi 创建的 MSBuild 项目。我已将 MSBuild 插件安装到 Jenkins 中并进行配置。我正在为我的构建作业选择特定配置。

我已经在 J​​enkins 中设置了 Delphi 编译器所需的所有环境变量(对于 Delphi 类型,来自 rsvars.bat)。

该项目在命令行上编译得很好。如果我在命令行上执行此操作,MSBuild 会报告一个漂亮的大路径(正确的路径)作为它用来调用 Delphi 编译器的命令行的一部分。

然而,当我尝试将它与 Jenkins 一起使用时,结果却截然不同:

C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\bin\dcc32.exe -$D- -$L- -$Y- --no-config -B -Q -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DRELEASE -K00400000   HTMLWriterTestApp.dpr   
  Embarcadero Delphi for Win32 compiler version 22.0
  Copyright (c) 1983,2010 Embarcadero Technologies, Inc.

注意,完全缺少路径或任何其他有关查找编译器需要的信息。当我从命令行运行时,该信息就在那里。

谁能想到 Jenkins 无法获得正确的 PATH 信息的任何原因吗?


根据您运行 Jenkins 的方式,它可能没有您习惯看到的完整路径线。例如,如果您将 Jenkins 作为 Windows 服务运行并填充了 USERS PATH 变量,则不一定会为 SYSTEM 用户填充它。在这种情况下,请将服务使用的登录帐户修改为您的帐户,而不是系统帐户。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Jenkins 在使用 MSBuild 时忽略 %PATH% 变量? 的相关文章

随机推荐