我正在Mac OS X上重新设置Jenkins 1.5888。我已经搜索了很多关于这个问题的信息,并提出了以下步骤。
我按要求升级了所有插件。
在Configure System中,我设置了Ant插件,以便从Apache站点自动下载。我已将此安装称为默认值。
我添加并调用ant步骤到我的构建。我选择了Default a my ant installation
我运行了构建。以下是导致我沮丧的输出部分:
[参与者测试] $ ant -file build.xml清理emma调试安装测试 致命:命令执行失败。您是否需要配置作业以选择一个Ant安装? java.io.IOException:无法运行程序“ant”(在目录“/Users/bob/.jenkins/jobs/participant/workspace/participant-test”):error = 2,没有这样的文件或目录 在java.lang.ProcessBuilder.start(ProcessBuilder.java:1047) 在hudson.Proc $ LocalProc。(Proc.java:244) 在hudson.Proc $ LocalProc。(Proc.java:216) 在hudson.Launcher $ LocalLauncher.launch(Launcher.java:803) 在hudson.Launcher $ ProcStarter.start(Launcher.java:381) 在hudson.Launcher $ ProcStarter.join(Launcher.java:388) 在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:1759) 在hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 在hudson.model.ResourceController.execute(ResourceController.java:89) 在hudson.model.Executor.run(Executor.java:240) 引起:java.io.IOException:error = 2,没有这样的文件或目录 at java.lang.UNIXProcess.forkAndExec(Native Method) 在java.lang.UNIXProcess。(UNIXProcess.java:184) 在java.lang.ProcessImpl.start(ProcessImpl.java:130) 在java.lang.ProcessBuilder.start(ProcessBuilder.java:1028) ......还有15个 构建步骤'Invoke Ant'将构建标记为失败
我可以从命令行运行ant,只需针对相同的构建运行。我已经在这一天了。我发现了一些类似的问题似乎是旧版本的Jenkins,似乎并不适用。
答案 0 :(得分:0)
异常似乎是因为在作业配置中缺少Ant Home ..检查你是否有一个?在从Jenkins执行之前,还要检查是否能够从命令行调用ant命令
答案 1 :(得分:0)
最后,我们只是继续尝试,直到它奏效。自动安装似乎没有工作。
我自动安装了JDK。我不确定ant的部分问题是Jenkins内部没有java。
然后我从apache站点手动下载了ant并将其安装在构建用户主目录下的.jenkins目录下的工具下。我添加了ANT_HOME环境变量,将其添加到我的路径中,然后重新启动以确保一切都有。
我将手动配置的ant指向上面的主目录,然后将我的构建指向此配置。我相信这种组合解决了我的问题。
答案 2 :(得分:0)
在我的情况下,我运行的是不兼容的java版本。
Jenkins需要Java才能运行,但是yum install jenkins并不强制已经安装了java。检查以确保已通过运行java -version安装了Java。为了进一步使CentOS用户感到困难,Java的默认CentOS版本与Jenkins不兼容。 Jenkins通常最适合使用Java的Sun实现,由于许可原因,它不包含在CentOS中。
如果输出类似于以下内容,则表示您使用的是Java的默认(GCJ)版本,这不适用于Jenkins:
删除旧的java版本:#yum remove java 安装新版本:#yum install java-1.7.0-openjdk