我让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中的每个配置,但是我找不到指定密码的位置。请帮帮我!
答案 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