我有一个在Git(和code.amazon.com)中签入的Java包,我有一个Ant作业来触发包。在Ant工作中,我为Git创建了一个macrodef,我正在执行git fetch
和git reset
,以便每次触发Ant作业时都可以获取最新的代码库。触发Git获取,使用Jenkins重置
当我使用Eclipse触发Ant作业时,它正在工作。如果我使用ANT –buildfile my_buildfile.xml
从终端运行Ant作业,它也可以正常工作。
现在我已经在我的机器上安装了Jenkins,并试图运行Ant文件。 Jenkins无法在Ant文件中触发Git作业。由于这个原因,错误的
/rhel5pdi/workplace/bangshis/EpubYJConvPerfWorkspace/src/EpubYJConvPerfLinux/Jenkins_Linux_build_Global.xml:81: The following error occurred while executing this line:
/rhel5pdi/workplace/bangshis/EpubYJConvPerfWorkspace/src/EpubYJConvPerfLinux/Jenkins_Linux_build_Global.xml:99: Execute failed: java.io.IOException: Cannot run program "git": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
at java.lang.Runtime.exec(Runtime.java:617)
at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58)
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.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
部分原因可能是,我的詹金斯是不能够触发任务作为主机的当前用户:这是给下面的错误。
为了解决这个问题,我已经尝试采取以下步骤:
- 创建一个全球性的证书,并使用无密码的帐户(RSA ID)。
- 使用与系统相同的用户名登录到Jenkins。
- 安装Git和Git客户端插件并正确设置它们。
请让我知道如果我失去了一些东西,如果有任何出路。如果我的方法不正确,我会很高兴如果你能分享其他几个想法。
什么是错误? –
简单的git pull怎么不能做到这一点?为什么抓取和重置? – fge
奥列格!我已经添加了错误。不管我是否做GIT拉或取。我无法调用任何GIT命令是真正的问题。 –