我在Hudson中运行Job时遇到问题。我已经使用ANT_HOME配置了Hudson,其中包含ant和JDK的路径以及相对路径。 我创建了一个新工作,在那里我设置了SVN路径和其他东西。 我的项目的build.xml位于Project root Folder / build / build.xml
中他们在Linux中添加了build.xml。这是这样的。
<project name="Test Job" default="build">
<target name="clean">
<delete dir="${basedir}/svn/_build"/>
<delete dir="${basedir}/build"/>
</target>
<target name="prepare">
<mkdir dir="${basedir}/svn/_build/logs"/>
<mkdir dir="${basedir}/build/logs"/>
<mkdir dir="${basedir}/build/docs"/>
</target>
<target name="build"
depends="clean,prepare"/>
</project>
注意:我将我的工作名称设置为usercentral。
然后我尝试在Hudson上构建。它给了我以下错误。
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 "/root/.hudson/jobs/userCentral/workspace/branches/branches/build"): java.io.IOException: error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:460) at hudson.Proc$LocalProc.(Proc.java:192) at hudson.Proc$LocalProc.(Proc.java:164) at hudson.Launcher$LocalLauncher.launch(Launcher.java:638) at hudson.Launcher$ProcStarter.start(Launcher.java:273) at hudson.Launcher$ProcStarter.join(Launcher.java:280) at hudson.tasks.Ant.perform(Ant.java:216) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:603) at hudson.model.Build$RunnerImpl.build(Build.java:172) at hudson.model.Build$RunnerImpl.doRun(Build.java:137) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:417) at hudson.model.Run.run(Run.java:1362) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:145) Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.(UNIXProcess.java:148) at java.lang.ProcessImpl.start(ProcessImpl.java:65) at java.lang.ProcessBuilder.start(ProcessBuilder.java:453) ... 15 more Finished: FAILURE
任何人都可以帮助我。
答案 0 :(得分:6)
将$ANT_HOME/bin
附加到您现有的PATH
,以便Hudson能够查找蚂蚁命令......或者至少,这就是我修复同样问题的方法。
答案 1 :(得分:3)
给哈德森提供蚂蚁安装的绝对路径。你可以在配置中做到这一点。然后在您的构建中使用此ant安装。你不必给ANT_HOME。
答案 2 :(得分:1)
首先,我告诉Hudson使用它自动安装的某个版本的Ant,并为该版本的Ant命名。 (来自Manage Hudson的&Ant部分 - >配置系统页面)
其次,我告诉使用Ant的新项目。 (来自项目配置的Invoke Ant部分“
答案 3 :(得分:0)
听起来可能是权限问题。哈德森用户是否可以访问所有相关文件和目录的目录路径?