我已经设置了build.xml来运行一个项目来执行selenium测试用例。我有mac计算机,我可以从终端运行蚂蚁。但是当我尝试从jenkins运行时,我得到以下错误。我在詹金斯指定了Ant家。配置
/usr/local/Cellar/ant/1.9.4/libexec
我用自制软件安装ANT
FATAL: command execution failed.Maybe you need to configure the job to choose one of your Ant installations?
java.io.IOException: Cannot run program "ant" (in directory "/Users/Shared/Jenkins/Home/workspace/BaublebarTest"): error=2, No such file or directory
at java.lang.ProcessBuilder.processException(ProcessBuilder.java:478)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:457)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:802)
at hudson.Launcher$ProcStarter.start(Launcher.java:380)
at hudson.Launcher$ProcStarter.join(Launcher.java:387)
at hudson.tasks.Ant.perform(Ant.java:217)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:160)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
at hudson.model.Run.execute(Run.java:1754)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.
在此输入代码forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
at java.lang.ProcessImpl.start(ProcessImpl.java:91)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 15 more
Build step 'Invoke Ant' marked build as failure
Finished: FAILURE
答案 0 :(得分:9)
Jenkins将为您安装Ant(以及其他工具)。在全局配置(管理Jenkins)上,通过选择版本和源来配置Ant
安装。
然后,当您运行Ant构建步骤时,您可以选择default
或您刚刚配置的版本。执行构建时,Jenkins将为您下载,安装和配置该特定版本(仅限Jenkins ),而不会影响操作系统的其余部分。安装只需要在每个节点上进行一次,之后就很快。
default
default
版本是Jenkins在您尚未配置正确版本时使用的后备版本。它尝试使用命令行上可用的任何内容,只需从当前工作目录执行ant
。
你说当你只是在命令行输入ant
时,它就适合你,但是你已经意识到Jenkins在jenkins
用户下运行,而不是你的登录用户,以及与ANT_HOME
类似,Ant的正确路径可能是专门为您的用户配置的。
因此,要解决您的问题,请使用Jenkins正确的方法进行工具安装,或者在操作系统级别为jenkins
用户正确配置该工具。
您可以先输入:
sudo su jenkins
ant
并查看它是否适用于jenkins
用户
答案 1 :(得分:7)