1

我在 Red Hat Enterprise 5 中运行 Hudson。在 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 的配置和作业的配置中搜索了每个配置,但找不到指定密码的位置。请帮我!

4

1 回答 1

0

AFAIK,哈德森作为一个单独的用户运行,所以当哈德森试图克隆一些东西时,它会搜索一个私钥来进行身份验证。

你应该,

以root身份切换

$sudo -i

然后切换为 hudson 用户

$su hudson

生成 ssh 密钥

$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"

你可以在 git-plugin config 下做同样的事情Manage Hudson > Configure System

于 2013-07-18T09:50:58.110 回答