&引用;“文件名太长”;Jenkins git签出中的错误

&引用;“文件名太长”;Jenkins git签出中的错误,git,jenkins,Git,Jenkins,Jenkins中的Git签出抛出错误“Filename太长”,并失败,如下所示: hudson.plugins.git.git异常:命令“git.exe签出-f 2cea7d8eb9185899c01d2ffc86872f584da2e60c”返回状态代码1: 标准输出: stderr:错误:无法创建文件 一些命名的项目/src/test/resources/dbunit\test\u data/com/一些命名的目录/data/testInstances\u create\u dataRequ

Jenkins中的Git签出抛出错误“Filename太长”,并失败,如下所示:

hudson.plugins.git.git异常:命令“git.exe签出-f 2cea7d8eb9185899c01d2ffc86872f584da2e60c”返回状态代码1:

标准输出:
stderr:错误:无法创建文件 一些命名的项目/src/test/resources/dbunit\test\u data/com/一些命名的目录/data/testInstances\u create\u dataRequiresData.xml: 文件名太长

我已经将配置文件中的longpaths变量设置为“true”,正如这里和这里所建议的那样,但是没有帮助


还有什么我可以做的吗?

作为一种解决方法,我在jenkinsfile脚本中为工作区路径定义了一个虚拟驱动器:

bat 'subst W: /d || exit 0' //delete the virtual drive if it already exists 
bat 'subst W: "%WORKSPACE%"' 
然后将其删除:

bat 'subst W: /d'

如果运行Windows 10 Home Edition,则可以更改注册表以启用长路径

进入
regedit
中的
HKEY\u LOCAL\u MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
,然后将
LongPathsEnabled
设置为
1

如果您有Windows 10 Pro或Enterprise,也可以使用本地组策略


进入
gpedit.msc
中的
Computer Configuration>administration Templates>System>Filesystem
,打开
Enable Win32 long path
,并将其设置为
Enabled
,为了让Git正确处理长文件名,需要启用
core.longpaths=true
。要设置此参数,可以执行以下操作:

git config --global core.longpaths true
为我解决了Jenkins git结帐的问题

要遵循的步骤(窗口):

  • 以管理员身份运行Git Bash
  • 运行以下命令:
  • git config--system core.longpaths true

    注意:如果步骤2不起作用或出现任何错误,您也可以尝试运行此步骤 命令:

    git config--global core.longpaths true

    阅读更多关于git配置的信息


    (编辑:请注意,有一个建议将设置专门应用于受影响的项目,而不是使用
    --system
    --global
    标志。)

    Jenkins作业配置中的“为运行准备环境”复选框添加了预签出步骤