我正在尝试设置Jenkins以进行持续集成。 目前,我正在尝试做一些非常简单的事情,但遇到了问题,我不确定我做错了什么或者我想做的事情是不可能的。
我目前有一个文件,它在PC上显示为Windows批处理文件,在Mac上显示为Unix可执行文件。我是从Mac运行的,它使用xcodebuild
和xcrun
来制作和共享档案。
我现在要做的就是让Jenkins为我做这件事(我稍后会添加更多内容)所以我添加了一个构建步骤并输入批处理文件的路径: 用户/ mcbuild /文档/工作/ FTS / ArchiveFTS.bat
然而,当我点击构建时,我得到了这个:
Started by user anonymous
Building in workspace /Users/Shared/Jenkins/Home/jobs/FTS Build/workspace
[workspace] $ cmd /c call /var/folders/2n/gysykb914qlgtg2b0flhvh4r00007c/T/hudson6994878138376885970.bat
FATAL: command execution failed
java.io.IOException: Cannot run program "cmd" (in directory "/Users/Shared/Jenkins/Home/jobs/FTS Build/workspace"): error=2, No such file or directory
通过搜索,我发现了几种可能的解决方案:
必须将shell指定为C\windows\system32\cmd.exe
我不确定这意味着什么或如何做到这一点,有人能解释一下吗?
我不确定但看起来Hudson是不是想在Unix系统上执行.bat
脚本?
这是否意味着我想做的事情是不可能的,如果没有,请问我有什么选择?
一些建议涉及检查您正在使用Hudson的用户,并可能更改它 我不确定我使用它的用户是什么,或者为什么它以匿名方式出现 是否有匿名的问题,如果有,请如何更改呢?
提前感谢您的帮助。如果您需要更多信息,请告诉我。
答案 0 :(得分:6)
您似乎添加了“执行Windows批处理命令”类型的构建步骤,但您在Mac上运行此作业。您需要做的是从“执行shell”构建步骤运行xcode / xcrun文件。如果仍有问题,请确保可以从Mac上的命令提示符手动运行相同的文件(而不是单击它)。如果您收到有关“无法运行程序sh”的错误,则可能需要配置sh的路径。在命令提示符下键入“which sh”以找出sh所在的位置。单击Manage Jenkins,然后单击Configure System,并在Shell Executable下输入路径。