Jenkins从gitHub克隆时出错

时间:2012-08-30 17:13:09

标签: git github jenkins

我是Jenkins的新用户,在从GitHub克隆存储库时出现以下错误。

我试图在这里搜索所有相关问题,但可以找到确切的stacktstrace和答案。

我正在尝试克隆需要用户名和密码的存储库,我在我的工作的作业配置设置中提供SSH://存储库路径。我还没有做任何相关的设置,因为这似乎与GIT存储库的安全问题不同。

我无法弄清楚Jenkins正在尝试执行什么评论,哪个文件/目录没有发现无能为力。

以下是Jenkins工作的确切堆栈跟踪:

  

引起:java.io.IOException:无法运行程序:尝试错误   确定git版本:执行命令时出错: - version       假设1.6       错误:克隆远程repo'myRE'时出错:无法克隆git@github.com:myORG / RVL.myProj.git       hudson.plugins.git.GitException:无法克隆git@github.com:myORG / RVL.myProj.git         在hudson.plugins.git.GitAPI.clone(GitAPI.java:268)         在hudson.plugins.git.GitSCM $ 2.invoke(GitSCM.java:1122)         在hudson.plugins.git.GitSCM $ 2.invoke(GitSCM.java:1064)         在hudson.FilePath.act(FilePath.java:842)         在hudson.FilePath.act(FilePath.java:824)         在hudson.plugins.git.GitSCM.checkout(GitSCM.java:1064)         在hudson.model.AbstractProject.checkout(AbstractProject.java:1256)         在hudson.model.AbstractBuild $ AbstractBuildExecution.defaultCheckout(AbstractBuild.java:589)         在jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)         在hudson.model.AbstractBuild $ AbstractBuildExecution.run(AbstractBuild.java:494)         在hudson.model.Run.execute(Run.java:1502)         在hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)         在hudson.model.ResourceController.execute(ResourceController.java:88)         在hudson.model.Executor.run(Executor.java:236)       引起:hudson.plugins.git.GitException:执行命令时出错:clone -o RVL.myProj git@github.com:myORG / RVL.myProj.git   在/ var / lib中/詹金斯/职位/的Myproj /工作区         在hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:862)         在hudson.plugins.git.GitAPI.access $ 000(GitAPI.java:40)         在hudson.plugins.git.GitAPI $ 1.invoke(GitAPI.java:264)         在hudson.plugins.git.GitAPI $ 1.invoke(GitAPI.java:244)         在hudson.FilePath.act(FilePath.java:842)         在hudson.FilePath.act(FilePath.java:824)         在hudson.plugins.git.GitAPI.clone(GitAPI.java:244)         ......还有13个       引起:java.io.IOException:无法运行程序“”:错误= 2,没有这样的文件或目录         在java.lang.ProcessBuilder.start(未知来源)         在hudson.Proc $ LocalProc。(Proc.java:244)         在hudson.Proc $ LocalProc。(Proc.java:216)         在hudson.Launcher $ LocalLauncher.launch(Launcher.java:709)         在hudson.Launcher $ ProcStarter.start(Launcher.java:338)         在hudson.Launcher $ ProcStarter.join(Launcher.java:345)         在hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:843)         ......还有19个       引起:java.io.IOException:error = 2,没有这样的文件或目录         at java.lang.UNIXProcess.forkAndExec(Native Method)         在java.lang.UNIXProcess。(未知来源)         在java.lang.Pro

7 个答案:

答案 0 :(得分:51)

我遇到并解决了同样的问题:)

有两种配置git路径的方法:

  1. 詹金斯大师

    一个。输入Jenkins系统配置(Jenkins - >管理Jenkins - >配置系统)

    湾找到Git项目并配置git安装(在Jenkins Master上指定git路径)

  2. 关于詹金斯奴隶

    一个。输入Jenkins Slave的配置

    湾检查“工具位置”复选框并在Jenkins Slave上指定git的路径。

  3. 在我的情况下,我没有权限访问Jenkins Master。所以我在Jenkins Slave上安装git并将其添加到Jenkins Slave的Configure中。

答案 1 :(得分:3)

这似乎是一个错误,请参阅JENKINS-16523,其中我发布了一个解决方法。

答案 2 :(得分:2)

我经历了同样的问题。

我注意到个别作业中混合了git配置" /var/lib/jenkins/jobs/job_name/config.xml":

[root@jenkins.example.com jobs]# find . -maxdepth 2 -name     config.xml|xargs grep '<gitTool>'
./job1/config.xml:    <gitTool>git</gitTool>
./job2/config.xml:    <gitTool>Default</gitTool>
./job3/config.xml:    <gitTool>git</gitTool>
./job4/config.xml:    <gitTool>Default</gitTool>

所以我修复了gitTool的名称并重新启动了Jenkins。看起来git配置不正确,git的更改不会传播到所有作业。

另请注意,git配置在.xml文件中可能与配置和Jenkins的webface配置不同!!!

答案 3 :(得分:0)

我在创建新的JOB后遇到同样的问题,修复了GITLabel ExpressionRestrict where this project can be run的奴隶名称(int main() { std::vector<Orange> vo { Orange(), Orange() }; std::map<int, Orange> mio { { 1, Orange() }, { 2, Orange() }, { 3, Orange() } }; std::cout << "vector:\n"; auto first = makePolymorphicValueIterator(vo.begin()); auto last = makePolymorphicValueIterator(vo.end()); do_orange_things(first, last); std::cout << "\nmap:\n"; first = makePolymorphicValueIterator(mio.begin()); last = makePolymorphicValueIterator(mio.end()); do_orange_things(first, last); } 已安装)。

答案 4 :(得分:0)

  1. 在主服务器或从属服务器上运行git --version
  2. 如果您什么都没得到,则表示未安装Git
  3. 如果您认为已安装Git,则将Git可执行文件的路径(例如C:\ Program Files \ Git \ cmd)添加到PATH环境变量中
  4. 在主服务器或从属服务器上运行git --version,并确保获得有效的版本

答案 5 :(得分:0)

除了superlee回答的步骤外,您需要为服务器端配置节点属性,如果您的本地系统是Windows系统,则需要配置“工具位置”,请参见以下屏幕截图:

tool location for your server side

答案 6 :(得分:0)

可能由于多种原因而发生。

  1. 您可能未安装git
  2. Jenkins无法使用git二进制文件
  3. 权限问题。

此博客Jenkins Git Clone Error解释了此错误的所有情况及其解决方案。