1

我真的坚持这一点。我在哈德逊创建了一份工作,并以与其他工作相同的方式进行配置。我的项目和构建可交付成果存在于 Git 中。但是每次我尝试构建它时,我都会遇到以下错误:

Cloning repository origin
$ git clone -o origin git@github.com:xyzw/myproject.git /var/lib/hudson/jobs/myjob/workspace
ERROR: Error cloning remote repo 'origin' : Could not clone git@github.com:xyzw/myproject.git
ERROR: Cause: Error performing git clone -o origin git@github.com:xyzw/myproject.git /var/lib/hudson/jobs/myjob/workspace
Command returned status code 128: Cloning into /var/lib/hudson/jobs/myjob/workspace...
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly

Trying next repository
ERROR: Could not clone repository
FATAL: Could not clone
hudson.plugins.git.GitException: Could not clone
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:763)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:702)
    at hudson.FilePath.act(FilePath.java:756)
    at hudson.FilePath.act(FilePath.java:738)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:702)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1181)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:536)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:424)
    at hudson.model.Run.run(Run.java:1374)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:467)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:145) 

在其他线程中,有些人建议通过以詹金斯用户身份登录来创建不同的私钥-公钥对,但我什至不知道如何在我的终端中执行此操作。我的意思是我知道如何使用 'sudo' 命令以不同的用户身份登录,但我不认为人们建议使用 sudo 来做到这一点。

非常感谢。

4

2 回答 2

3

您可能需要设置从 hudson 服务器到 git 服务器的无密钥 ssh 访问。为此,请按照下列步骤操作:

  1. 以 hudson 用户身份登录 hudson 系统。
  2. 从终端窗口类型ssh-keygen
  3. 将密码留空
  4. 为私钥和公钥对提供文件名。
  5. 以 git 用户身份登录 git 系统。
  6. 将步骤 4 中的公钥复制到 git 系统
  7. 从终端运行以下命令,将 hudson 公钥添加到 git 授权密钥文件中。 cat {public key file} >> ~/.ssh/authorized_keys. 如果authorized_keys 文件已经存在,您应该先备份它。
  8. 通过返回 hudson 系统并尝试ssh {git system name}. 如果它有效,您应该能够在不提供密码的情况下进行连接。然后尝试克隆存储库并再次构建。
  9. 如果它不起作用,请确保从 authorized_keys 文件中删除密钥。
于 2013-06-19T20:05:59.600 回答
0

Jenkins 中的 git-plugin 存在一个已知错误。

https://issues.jenkins-ci.org/browse/JENKINS-24368

上面关键文件的目录位置取决于你使用的是cygwin还是安装的git包(即c:\program files\git)。Jenkins 将编写凭证文件,并且应该独立于从站。

于 2015-07-07T21:39:17.997 回答