一尘不染

为什么詹金斯在使用MSBuild时会忽略%PATH%变量?

jenkins

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

我已经在Jenkins中设置了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.

Noet完全缺少路径,或者其他任何有关找到编译器需要的信息的信息。当我从命令行运行时,此信息在那里。

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


阅读 207

收藏
2020-07-25

共1个答案

一尘不染

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

2020-07-25