当前位置: 首页 > 面试题库 >

Jenkins的git插件无法从本地计算机克隆存储库。错误代码128

夏骏
2023-03-14
问题内容

错误:

Failed to connect to repository : Command "/usr/bin/git ls-remote -h file:///home/myuser/path/to/project HEAD" returned status code 128:
stdout:
stderr: fatal: 'home/myuser/path/to/project' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我尝试了以下方法

  • chmod 777 到repo文件夹(包含.git目录的文件夹)
  • chownedjenkins:jenkinsrepo文件夹
  • 尝试从此本地repo文件夹克隆到另一个文件夹:有效!

当我运行上面的命令时:/usr/bin/git ls-remote -h file:///home/myuser/path/to/project HEAD在cmd上,我得到了分支。

我的问题是:

  1. 为什么git ls-remote -h ...应该在git clone ...什么时候调用命令?
  2. 如何配置jenkins git插件以从本地仓库获取代码

我的环境:

RHEL 5.9

Jenkins 1.519作为服务安装(没有Web容器)

Git插件


问题答案:

Jenkins作为服务安装时,默认情况下,Jenkins不会像那样创建用户目录/home/jenkins。Jenkins的默认主目录设置为/var/lib/jenkins。如您所料,根据我的解决方法,jenkins无法从其他用户目录访问本地资源。

我将克隆的存储库移到了Jenkins的默认主目录下/var/lib/jenkins,即Repository URL在Jenkins
Project的配置下,如下所示:file:///${JENKINS_HOME}/repo/<myprojectname>

更新: 以上工作正常…但是我从此博客中找到了一种更好的方法

步骤概述如下:

查找/etc/init.d/jenkins脚本。有一些$JENKINS定义的变量。这应该引导您前往sysconfig詹金斯,即/etc/sysconfig/jenkins。停止您的詹金斯实例:

sudo /sbin/service jenkins stop

备份

cp /etc/sysconfig/jenkins /etc/sysconfig/jenkins.bak

在此文件中,更改以下属性:

$JENKINS_USER="<your desired user>"

更改所有相关Jenkins目录的所有权:

chown -R <your desired user>:<your user group> /var/lib/jenkins

chown -R <your desired user>:<your user group> /var/cache/jenkins

chown -R <your desired user>:<your user group> /var/log/jenkins

重新启动詹金斯,该错误应消失

sudo /sbin/service jenkins start

该错误现在应该消失了!



 类似资料:
  • 问题内容: 我已经通过Windows 2008 32位上的Git / SSH在Jenkins中成功克隆了Git存储库。当我尝试在64位Windows 2008上执行相同操作时, 控制台输出 页面卡在此处: 当我停止构建时(在卡住了几分钟之后),我得到了其余的错误消息: 我可以通过两台机器上的Jenkins 通过Git只读URL克隆存储库 我可以从两台计算机上的命令行通过Git / SSH URL进

  • 问题内容: 我真的很坚持这一点。我在哈德森(Hudson)创建了一个工作,并以与其他工作相同的方式进行了配置。我的项目和构建交付物存在于Git中。但是每次我尝试构建它时,都会出现以下错误: 在其他线程中,有人建议通过以jenkins用户身份登录来创建不同的私钥-公钥对,但我什至不知道如何在终端中执行此操作。我的意思是我知道如何使用“ sudo”命令以不同的用户身份登录,但我不认为有人建议使用sud

  • 本文向大家介绍Git 克隆SVN存储库,包括了Git 克隆SVN存储库的使用技巧和注意事项,需要的朋友参考一下 示例 您需要使用以下命令创建存储库的新本地副本 git svn clone SVN_REPO_ROOT_URL [DEST_FOLDER_PATH] -T TRUNK_REPO_PATH -t TAGS_REPO_PATH -b BRANCHES_REPO_PATH 如果您的SVN储存库

  • 我正在尝试连接到我的VPS上托管的gerrit。我正在使用Git Bash for windows。我在GitBash中使用SSH-keygen生成了SSH密钥,并在gerrit服务器上添加了密钥。当我运行ssh时-p 29418 但当我通过运行以下命令克隆存储库时 我在Git Bash终端中看到以下错误 我无法理解正在发生什么以及如何在我的机器中成功克隆我的项目。有谁能在这件事上帮助我吗? 更新

  • 我所做的:我已经在Github上创建了一个远程存储库,我正在尝试在本地机器上克隆远程存储库。克隆时,我提供克隆URL 但每次我尝试克隆时,都会出现以下错误: 错误:“致命:无法访问”https://github.com/hyperion057/spring-repo.git/“:无法解析主机:github.com” 我需要做什么才能连接到GitHub?

  • 我们有一个工具需要克隆几个Git存储库来聚合文档数据。我们希望将该工具放在Docker容器中,以便在本地和使用Jenkins轻松地运行它,并实现可复制性。 Git存储库托管在专用服务器上,需要使用SSH密钥进行身份验证。因此,Docker容器必须以某种方式获得对运行容器的用户的SSH键的访问权。 我们有一个约束列表: null 在docker容器中使用SSH密钥(SSH密钥在构建时传递-我们需要运