Jenkins无法调用SENCHA CMD

时间:2014-03-11 05:49:03

标签: java extjs ant jenkins

我正在尝试在Jenkins中配置Sencha CMD。我在bash_profile中添加了Sencha的类路径。

如果我尝试在控制台上调用Sencha CMD,它可以正常工作,但是如果我尝试通过Jenkins调用Sencha CMD我会观察到这个错误

Execute failed: java.io.IOException: Cannot run program "sencha": error=2, No such file or directory 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041) 
at java.lang.Runtime.exec(Runtime.java:617) 
at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:41) 
at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:428) 
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:442) 
at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:628) 
at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669) 
at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495) 
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
at org.apache.tools.ant.Task.perform(Task.java:348) 
at org.apache.tools.ant.Target.execute(Target.java:435) 
at org.apache.tools.ant.Target.performTasks(Target.java:456) 
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 
at org.apache.tools.ant.Project.executeTarget(Project.java:1364) 
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
at org.apache.tools.ant.Project.executeTargets(Project.java:1248) 
at org.apache.tools.ant.Main.runBuild(Main.java:851) 
at org.apache.tools.ant.Main.startAnt(Main.java:235) 
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
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:135) 
at java.lang.ProcessImpl.start(ProcessImpl.java:130) 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022) 
... 23 more 

请帮助我。

-gowtham

1 个答案:

答案 0 :(得分:1)

为了解决这个问题, 1)安装Envfile插件(https://wiki.jenkins-ci.org/display/JENKINS/Envfile+Plugin) 2)此插件接受文件(任何扩展名)可以包含所有环境变量,例如,如果要为eyour项目导出类似sencha路径的路径或增加jvm内存大小,可以在文件中添加这些命令并在jenkins上提供路径

根据我的问题,关注sencha是针对特定用户bash配置文件配置的。我刚刚在新文件中复制了所有bash配置文件内容,并在jenkins插件中给出了相同的文件,因此每当jenkins执行它时,每个命令都会加载所有这些envrionment文件内容。