【问题标题】:Jenkins build error詹金斯构建错误
【发布时间】:2012-04-25 14:19:23
【问题描述】:

我有一个问题,我真的不知道如何解决它。我正在尝试使用 Jenkins 构建一个项目。我们构建机器上安装的 IDE 是 Embarcedero C++ Builder XE。 这是在构建状态下配置的项目。\

MSBuild 版本:MSBuild 2.0 MSBuild 构建文件:testProject\Platforms\Common\AuthoringTool\FrontEnd\testProject.cbproj 命令行参数:/t:Clean;Make /p:Config=Release

更新:部分问题出在帐户上。我们将 Jenkins 更改为作为服务运行,但它的路径错误。这已得到修复,但现在我遇到了 postbuildevent 错误。

    Target PostBuildEvent:
cd c:\jenkins\workspace\testProject\testProject\Platforms\Common\AuthoringTool\Image\
implib testProject.lib vat.exe
'implib' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files\Embarcadero\RAD Studio\8.0\bin\CodeGear.Common.Targets(194,5): error MSB3073: The command "cd c:\jenkins\workspace\testProject\testProject\Platforms\Common\AuthoringTool\Image\
C:\Program Files\Embarcadero\RAD Studio\8.0\bin\CodeGear.Common.Targets(194,5): error MSB3073: implib testProject.lib testProject.exe" exited with code 9009. 

在项目“testProject.cbproj”中完成构建目标“PostBuildEvent”——失败。

完成构建项目“testProject.cbproj”——失败。

当我尝试手动构建项目时,项目成功编译。我还检查了 Jenkins 工作区,所有文件都位于正确的位置。任何有关如何解决此问题的建议将不胜感激。

【问题讨论】:

  • 您是否以与手动构建时相同的用户身份运行 Jenkins?
  • 回答您的问题,是的,Jenkins 应该使用同一个用户。当我将其设置为作为服务运行时,我忘记添加用户数据。现在我遇到了 PostBuildEvent 问题。我尝试在 Jenkins 中添加 implib 命令路径,但没有帮助。
  • @themaniac27 显示的行是来自 MS Build 还是来自“执行 Windows 批处理命令”构建步骤?我从 MS Build 猜测。尝试将它们放入 Windows 批处理步骤中。

标签: jenkins


【解决方案1】:

验证“imlib”是否在您的系统路径中。

这可以通过在 PostBuildEvent 中回显 %PATH% 来完成。如果它不在路径上,您可以将其添加到环境中,或使用 Jenkins 自动引用该位置。

另一种选择是显式执行命令,而不是假设它会在路径上...

即,将您的 PostBuildEvent 更新为...

cd c:\jenkins\workspace\testProject\testProject\Platforms\Common\AuthoringTool\Image\
C:\<path_to_implib_command>\implib testProject.lib vat.exe

【讨论】:

  • 感谢您的帮助。我认为这是问题所在,但解决方案不起作用。
【解决方案2】:

我能够通过使用“将环境变量注入构建过程”以及 implib 的路径来解决它。我不知道为什么彼得解决方案不起作用。好像应该有。

【讨论】:

    猜你喜欢
    • 2018-04-08
    • 2014-09-19
    • 2016-01-12
    • 2018-06-30
    • 2018-09-13
    • 2018-07-04
    • 1970-01-01
    • 2015-04-23
    相关资源
    最近更新 更多