无法克隆远程存储库

时间:2013-07-18 08:33:08

标签: git hudson redhat

我让Hudson在Red Hat Enterprise 5中运行。在Hudson中,我使用Git来克隆远程存储库。克隆代码时出现此错误:

Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' 
hudson.plugins.git.GitException: Could not clone <repo url>
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:241)
    at hudson.plugins.git.GitSCM$3.invoke(GitSCM.java:972)
    at hudson.plugins.git.GitSCM$3.invoke(GitSCM.java:919)
    at hudson.FilePath.act(FilePath.java:791)
    at hudson.FilePath.act(FilePath.java:773)
    at hudson.plugins.git.GitSCM.gerRevisionToBuild(GitSCM.java:919)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:698)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1515)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:521)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:428)
    at hudson.model.Run.run(Run.java:1390)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:40)
    at hudson.model.ResourceController.execute(ResourceController.java:82)
    at hudson.model.Executor.run(Executor.java:137)
Caused by: hudson.plugins.git.GitException: org.eclipse.jgit.api.errors.TransportException: <repo   url>: not authorized
    at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:234)
    at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:221)
    at hudson.FilePath.act(FilePath.java:791)
    at hudson.FilePath.act(FilePath.java:773)
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:221)
    ... 13 more

我在上面的跟踪中看到“未授权”,所以我猜这可能是因为我没有设置Git帐户(用户名/密码)。我搜索了Hudson的configure和job的configure中的每个配置,但是我找不到指定密码的位置。请帮帮我!

1 个答案:

答案 0 :(得分:0)

AFAIK,Hudson作为一个单独的用户运行,所以当Hudson尝试克隆某些内容时,它会搜索一个私钥进行身份验证。

你应该,

以root身份切换

$sudo -i

然后切换为hudson用户

$su hudson

生成ssh-key

$ssh-keygen -t rsa -C 'email_id_for_authentication'

从~hudson(hudson用户的主文件夹)中的.ssh文件夹中复制公钥

将其添加到您的远程存储库。

在用户hudosn中为git设置user.email

$git config --global user.email "email_id_for_authentication"

您可以在Manage Hudson > Configure System

中的git-plugin配置下执行相同的操作