当前位置: 首页 > 面试题库 >

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

魏兴邦
2023-03-14
问题内容

我正在尝试使用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信息的任何原因吗?


问题答案:

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



 类似资料:
  • 问题内容: 我有一个带有关系的实体,我想通过一个查询来检索它,因此使用。有时,Hibernate不尊重它,而是发出N + 1 秒。随着 有时 我的意思是,因为我不知道是什么触发它,我有案件对不同的查询,这可能发生,或者不一样的类。 这是带有我使用的注释的简化实体: 用 我希望单个查询能够同时获取其及其内容,例如 相反,我得到了第一选择所有N S和那么N 献给所有S(考虑没有缓存)。 我发现了许多类

  • 问题内容: 我正在尝试将s从脚本管道转换为声明性管道。我在中有一个这样的块: 我不知道它到底能做什么,以及将其转换为声明性管道语法的正确方法是什么。 问题答案: 分配一个新的工作区。您将使用它来确保其他任何因素都不会干扰磁盘上运行所附步骤的位置。 这不会像步骤那样繁重,因为这还将确保它由单独的执行程序运行。 这将提供比步骤更多的隔离,因为这将无法确保在文件系统上的隔离位置。 您可以按照与脚本相同的

  • 问题内容: 我尝试了各种方式,但似乎没有任何效果。这是我的詹金文件。 阶段脚本的输出(“初始化变量”)没有任何作用,它没有设置全局变量ZIP_NODE的值: 然后我们进入阶段(代码-Build),我们没有得到ZIP_NODE的值。请参阅22:34:17的echo声明 感谢@awefsome,我有一些观察,我想补充一下细节:当我使用下面的代码时,我得到了想要的输出,即ZIP_NODE的正确值: 但是

  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 下面是roles/role1/tasks/main.yml: 我的库存: 最后是host_vars/localhost.yml: 使用运行playbook时出现以下错误

  • 问题内容: 这是我的项目的布局: 这是Jenkins工作区的布局: 在eclipse下,测试运行没有任何错误。在詹金斯身上,测试只是失败了。Jenkins无法找到资源。以下是测试执行的一些输出: eclipse Jenkins 如您所见,Jenkins找不到我的资源。 我想念什么? 问题答案: 我终于解决了我的问题。在类路径上,该文件是在我的代码中调用该文件时命名的。您注意到大写了吗? 在Wind