Jenkins生成错误-无法运行程序;ant";

Jenkins生成错误-无法运行程序;ant";,ant,jenkins,Ant,Jenkins,我已经设置build.xml来运行一个项目来执行selenium测试用例。我有mac电脑,我可以在终端上运行ant。但当我试图从詹金斯那里逃跑时,我得到了以下错误。我在Jenkins的配置中指定了Ant home /usr/local/cillar/ant/1.9.4/libexec 我使用自制软件安装ANT 致命:命令执行失败。可能需要配置作业以选择一个Ant安装? java.io.IOException:无法运行程序“ant”(在目录“/Users/Shared/Jenkins/Home/

我已经设置build.xml来运行一个项目来执行selenium测试用例。我有mac电脑,我可以在终端上运行ant。但当我试图从詹金斯那里逃跑时,我得到了以下错误。我在Jenkins的配置中指定了Ant home

/usr/local/cillar/ant/1.9.4/libexec

我使用自制软件安装ANT

致命:命令执行失败。可能需要配置作业以选择一个Ant安装?
java.io.IOException:无法运行程序“ant”(在目录“/Users/Shared/Jenkins/Home/workspace/BaublebarTest”中):错误=2,没有这样的文件或目录
位于java.lang.ProcessBuilder.processException(ProcessBuilder.java:478)
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:457)
位于hudson.Proc$LocalProc(Proc.java:244)
在hudson.Proc$LocalProc.(Proc.java:216)
位于hudson.Launcher$LocalLauncher.launch(Launcher.java:802)
位于hudson.Launcher$ProcStarter.start(Launcher.java:380)
位于hudson.Launcher$ProcStarter.join(Launcher.java:387)
位于hudson.tasks.Ant.perform(Ant.java:217)
在hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
位于hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
位于hudson.model.Build$BuildExecution.Build(Build.java:199)
位于hudson.model.Build$BuildExecution.doRun(Build.java:160)
位于hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
在hudson.model.Run.execute(Run.java:1754)
运行(FreeStyleBuild.java:43)
在hudson.model.ResourceController.execute(ResourceController.java:89)
运行(Executor.java:240)
原因:java.io.IOException:error=2,没有这样的文件或目录
在java.lang.UNIXProcess.
此处输入代码
forkAndExec(本机方法)
位于java.lang.UNIXProcess(UNIXProcess.java:53)
在java.lang.ProcessImpl.start(ProcessImpl.java:91)
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 还有15个
生成步骤“调用Ant”将生成标记为失败
完成:失败

首先,正确的方法 詹金斯将为您安装Ant(和其他工具)。在全局配置(Manage Jenkins)上,通过选择版本和源配置
Ant
installation

然后,当您运行Ant构建步骤时,您可以选择一个版本,
default
或您刚刚配置的版本。执行构建时,Jenkins将为您下载、安装和配置该特定版本(,仅限Jenkins内部),而不会影响操作系统的其余部分。每个节点只需进行一次安装,安装完成后速度很快

默认值
当您没有配置正确的版本时,Jenkins会使用默认版本。它尝试使用命令行中可用的任何内容,只需从当前工作目录执行
ant

你说过当你在命令行上键入
ant
时它对你有效,但你必须意识到Jenkins是在
Jenkins
用户下运行的,而不是你登录的用户,像
ant\u HOME
和正确的ant路径可能是专门为你的用户配置的

因此,要解决您的问题,请使用Jenkins进行工具安装的正确方法,或者在操作系统级别为
Jenkins
用户正确配置工具

您可以先键入:
sudo su jenkins

ant


看看jenkins的终端是否有效,我没有使用jenkins的终端,但我得到了同样的错误。将Ant版本从默认更改为Ant修复了错误


尝试将ant home设置为安装的根目录,例如/usr/local/cillar/ant。问题是,如果您有本地可用的定制ant安装(带有定制JAR等),则使用Apache自动安装的版本将不会有它们。任何需要自定义版本的构建都将失败,因此您应该指定一个绑定了这些附加组件的自定义安装程序。希望这对别人有帮助!这正是@slav所说的。有人从全局工具配置中安装了“Ant”,您正在这里选择它。是的,这是真的,但是不使用终端的人可能仍然会使用它