我真的很困惑。我在Hudson创建了一份工作,并以与其他工作相同的方式进行配置。我的项目和构建可交付成果存在于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)
在其他线程中,有些人建议通过登录作为jenkins用户创建不同的私钥 - 公钥对,但我甚至不知道如何在我的终端中执行此操作。我的意思是我知道如何使用'sudo'命令以不同的用户身份登录,但我不认为人们建议使用sudo这样做。
非常感谢。答案 0 :(得分:3)
您可能需要设置从hudson服务器到git服务器的无密钥ssh访问。为此,请按照以下步骤操作:
ssh-keygen
cat {public key file} >> ~/.ssh/authorized_keys
。如果authorized_keys文件已存在,则应首先备份该文件。ssh {git system name}
来测试。如果它工作,您应该能够连接而无需提供密码。然后尝试克隆存储库并重新构建。答案 1 :(得分:0)
詹金斯的git-plugin有一个已知的bug。
https://issues.jenkins-ci.org/browse/JENKINS-24368
上面的密钥文件的目录位置取决于您使用的是cygwin还是已安装的git包(即c:\ program files \ git)。 Jenkins将编写凭据文件,并且应该独立于奴隶。