为什么 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% 变量? 的相关文章

  • 需要 XSL 文件将内部 xml 测试格式转换为 Junit 格式(xUnit Plugin for jenkins)

    我正在尝试编写一个 XSL 将我的 XML 转换为 jenkins 采用的 JUNIT 格式 见下文 我的 xml 看起来像这样 我有几个 类 例如 数据中心 或 网络
  • Delphi 应用程序被 Google Chrome 视为“危险”

    我经常用Delphi 2009制作数学软件 并将其发布在我的网站上 然而 去年左右 Google Chrome 开始认为我的一小部分 但数量不断增加 EXE 是 有害的 并且 Google Chrome 拒绝下载它们 例如 今天我编写了一个
  • 从 Delphi 访问 TRAKT API - 承载身份验证问题

    使用 TOauth2Authenticator TRESTClient TRESTRequest TRESTResponseDataSet TRESTResponse TFDmemtable 和 TDataSource 我成功连接到 Tra
  • 新编译的应用程序需要 UAC/elevation?

    我有一个系统 我将其设置为普通的 UAC 并在我的 delphi 环境中编译名为 ka exe 的项目 并为其创建一个 installshield 项目 设置完毕 一切顺利 但每当我开始我的程序时 它都需要提升 而我不知道为什么 为了确保
  • 如何在 MSBuild 中的 Exec 命令中转义引号

    我正在尝试构建一个 MSBuild 脚本 将网络驱动器映射到脚本中的驱动器号 但不幸的是目标文件夹的路径包含嵌入的空格 嵌入的空格导致映射失败 我不知道是否可以转义路径周围的引号 我尝试过双引号 但 MSBuild 不喜欢它 要么是 Win
  • 如何在jenkins中使用文件参数

    我正在詹金斯中执行参数化构建来计数 有 1 个文件参数的文件中的行数 它的文件位置是pqr 脚本文件的名称是linecount sh保存在远程服务器上 当我尝试使用命令执行它时sh linecount sh文件名 它在詹金斯中完美运行 但是
  • MSB6003 无法运行指定的任务可执行文件“sgen.exe”。文件名或扩展名太长

    在 Windows 10 上运行 VS 2017 15 5 3 出现此一般错误 无法运行指定的任务可执行文件 sgen exe 文件名或扩展名太长 在Release配置和X64平台上构建项目时 但它在调试配置和任何 CPU 平台上都构建得很
  • 如何将IDL导入到Delphi中?

    我如何导入接口定义语言 idl 文件存入Delphi 将类型和接口转换为 pascal 文件 我试过了 File Open 它只显示 idl 文本文件的文本 Project 添加到项目 它只是 就像 添加了一个 idl文本文件到项目 成分
  • Delphi 是否在构造对象之前分配变量?

    Delphi 是否在对象完全构造之前分配实例变量 换句话说 给定一个变量 var customer TCustomer nil 然后我们构造一个客户并将其分配给变量 customer TCustomer Create 有没有可能custom
  • 如何检查文件是否有备用数据流?

    Delphi 有没有办法检查文件是否有任何备用数据流 看一下 Win32 APIFindFirstStreamW https msdn microsoft com en us library windows desktop aa364424
  • 我有进程 ID,需要使用 Delphi 5 以编程方式关闭关联进程

    任何人都可以帮我提供一个编码示例 以便在我拥有进程 ID 时关闭关联的进程 我将使用 Delphi 5 在 Windows 2003 服务器上以编程方式执行此操作 如果您有进程 ID 并希望强制终止该进程 可以使用以下代码 function
  • 让线程在窗体关闭时保持运行

    我在我的应用程序上创建了一个同步线程 我想知道如果我关闭申请表 是否有办法让该线程保持打开状态 直到完成同步过程 调用线程的WaitFor方法在您的 DPR 文件中 之后Application Run线 如果线程已经运行完毕 那么WaitF
  • 是否有可能将 *.pdb 文件包含到发布版本中以查看错误行号?

    我做了一个项目 所有设置都是默认的 当我在调试模式 构建配置 调试 下运行它并遇到异常时 它转储到我的自定义日志记录机制 其中包含错误行号 但是当我运行发布构建时 记录相同的异常 没有行号 只有方法抛出和记录调用堆栈 是否有可能在发布配置
  • Jenkins 和 Gitlab 不获取代码

    当我设置自己的项目时 我遇到了问题 我开始配置我的 Jenkins 作业 我这样做了 在 Jenkins 上为 gitlab 用户帐户创建凭证 在 gitlab 上创建访问令牌并在 Jenkins 中使用此令牌来启用它 and this i
  • delphi专家中的第三方依赖

    我正在编写一个delphi ide Expert 带有一些第三方依赖项 视觉控件 我的问题是当这个专家将安装在目标机器上时 这台电脑是否也需要安装这些第三方组件 或者组件是embeded在生成的 bpl 内部 它们将依赖于您放置在包的 re
  • 在 C# 代码中使用 props/csproj 文件中的属性

    假设我在 csproj 文件或 props 文件中声明了一个属性 SomeValue 有没有办法可以在我的 C 代码中引用该属性 您可以添加预构建任务以将值注入到代码中 但无法引用属性 因为项目文件不是代码的一部分 它只是代码的容器 保存一
  • 使用 Inno Setup 中格式化(部分粗体)的文本制作安装程序?

    有人看过 GOG com 游戏安装程序吗 如何制作像这样的欢迎文本字符串 包括单个标题中的路径和需要大小 其中部分内容加粗 以下是修改安装路径后如何更改字符串换行的示例 您可以使用TRichEditViewer http www jrsof
  • 有没有办法将 Hudson / Jenkins 配置文件保留在源代码管理中?

    我是 Hudson Jenkins 的新手 想知道是否有办法将 Hudson 的配置文件签入源代码管理 理想情况下 我希望能够单击 UI 中显示 保存配置 的某个按钮 并将 Hudson 配置文件签入源代码管理 最有帮助的答案 有一个插件叫
  • 如何获取属于某个进程的打开句柄的计数?

    您可以使用该程序流程浏览器 http technet microsoft com en us sysinternals bb896653查看正在运行的应用程序有多少个句柄 有没有办法用Delphi代码来获取这个数字 我有兴趣跟踪应用程序本身
  • 从 Jenkins Pipeline 发布到 Artifactory

    我正在尝试使用 Jenkins v2 7 管道发布到 Artifactory v4 5 1 实例 下面是我的脚本的摘录 问题似乎是 Artifactory 对象无法识别并被视为字符串 有人可以建议问题可能是什么吗 node error Ar

随机推荐