首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Jenkins触发Git获取、重置

使用Jenkins触发Git获取、重置
EN

Stack Overflow用户
提问于 2015-05-29 08:29:44
回答 3查看 568关注 0票数 0

我有一个在Git (和code.amazon.com)中签入的Java包,我有一个Ant作业来触发这个包。在Ant作业中,我为Git创建了一个宏,我正在执行git fetchgit reset,以便每次触发Ant作业时都可以获得最新的代码基。

当我使用Eclipse触发Ant作业时,它正在工作。如果我使用ANT –buildfile my_buildfile.xml从终端运行Ant作业,它也可以工作。

现在我已经在我的机器上安装了Jenkins,并且正在尝试运行Ant文件。Jenkins无法在Ant文件中触发Git作业。它产生了以下错误:

代码语言:javascript
运行
复制
/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)

此错误的部分原因可能是,我的Jenkins无法作为主机的当前用户触发作业。

为了解决这个问题,我尝试了以下步骤:

  1. 创建全局凭据并使用无密码帐户(RSA ID)。
  2. 使用与系统相同的用户名登录到Jenkins。
  3. 安装Git和Git客户端插件并适当地设置它们。

请告诉我,如果我错过了什么,如果有任何出路。如果我的方法不正确,我会很高兴,如果你能分享很少其他的想法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-29 18:34:10

@Dr.Bokko是correct...and,我应该感谢他在正确的方向上的指导。我正试着给出完整的答案。基于三个因素,我们可以用JENKINS建立GIT。

  • 第一个因素:要访问GIT存储库,如果它是公共存储库,则不需要用户凭据。但是对于访问受限的GIT存储库,我们需要确保通过了正确的凭据。为了让Jenkins了解Git操作,需要安装Git和GIT客户端插件。
  • 第二个因素:在运行脚本之前,添加一个构建步骤并导出作为shell脚本一部分所需的所有库。
  • 第三个因素:最后检查管理Jenkins部分的系统配置,检查Jenkins考虑的环境变量。如果它们不合适,则转到节点管理链接,以及所有环境变量作为键值对。

希望上面提到的这些步骤能够解决问题。

票数 0
EN

Stack Overflow用户

发布于 2015-05-29 13:05:47

我认为它与主(或节点)上的git配置有关。

这个解决方案应该可以解决您的问题:

Jenkins giving error while cloning from gitHub

票数 2
EN

Stack Overflow用户

发布于 2015-05-30 15:56:52

堆栈跟踪中出现以下错误:

代码语言:javascript
运行
复制
Cannot run program "git": error=2, No such file or directory

这意味着git可执行文件要么没有安装,要么没有安装在正在运行的进程的命令路径中。

还不完全清楚你为什么要从蚂蚁那里打电话给GIT。通常,Jenkins首先执行代码的签出(使用GIT),然后调用ANT。我强烈建议研究这个替代工作流,它可能需要为Jenkins安装一个GIT插件(不记得这是否是默认插件)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30524807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档